【发布时间】:2015-04-07 02:09:38
【问题描述】:
正如苹果文档所说:
使用
let创建一个常量,使用var创建一个变量。常量的值不需要在编译时就知道,但你必须给它赋值一次。这意味着您可以使用常量来命名您确定一次但在许多地方使用的值。
让我们考虑一些类:
class A {
var a = [String]()
}
由于数组a 是可变的,它是通过var 定义的。但是如果我们考虑 B 类,其中 A 的实例是属性呢?
class B {
let b = A()
}
即使b 是可变的,let 关键字也可以,因为引用不会改变。另一方面,var 也可以,因为b 的内容可以更改。在这个例子中我应该选择什么 - let 或 var?
【问题讨论】:
-
您始终可以使用
var,而您可以使用let。let只告诉程序的其余部分不能重新分配该元素 -
我通常只是向后弯腰,让一切都顺其自然。 immutable > mutable 并且即使在您的第二个示例中无关紧要,我也放了 let 以提醒我这一点。
标签: swift