我是学习swift的新手。我最近发现变量或常量需要用初始数或初始化来初始化。但是在结构中它们不需要初始化吗?
答案 0 :(得分:1)
他们确实需要。
来自Swift语言指南:
类和结构必须将所有存储的属性设置为 适当的初始值,当该类的实例或 结构已创建。存储的属性不能留在 不确定的状态。
您可以在其中设置存储属性的初始值 初始化程序,或通过指定默认属性值作为一部分 财产的定义。
答案 1 :(得分:1)
@vadian答案的一个例子:
struct S {
init() {}
let a: String
}
这不会编译:
Playground execution failed: Test.xcplaygroundpage:11:13:
error: return from initializer without initializing all stored properties
init() {}
^