我目前正在练习Swift语言iBook中的示例。我对“ let”的理解是,我们使用“ let”来使常量。一旦给它分配了一个值,就不能再给它分配另一个值。像下面的代码:
let city="NY"
city="LA" <--error (Cannot assign 'let' value city)
但是我在iBook上看到了这个例子,这确实让我感到困惑:
struct Color{
let red=0.0, green=0.0, blue=0.0 //<---declare variables using "let" and assign value
init(red:Double,green:Double,blue:Double){
self.red=red //<---assign value to variable again?
self.green=green
self.blue=blue
}
}
在此示例中,它已经为使用“ let”的红色,绿色和蓝色分配了值。
为什么我们要在init中再次为这三个变量赋值?
let
如果您未在构造函数中自行初始化默认值,则中的初始化将提供默认值。构造函数(init
)很特殊。在它们内部,您可以分配一个常量实例变量。实际上,如果您没有默认值,则必须为其分配值。(这也适用于类。)
感谢Qwerty Bob在文档中找到了这个
在初始化期间修改常量属性
您可以在初始化期间的任何时候修改常量属性的值,只要在初始化完成时将其设置为确定的值即可。
摘录自:苹果公司“ The Swift Programming Language”。iBooks。https://itun.es/us/jEUH0.l
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句