如Apple文档所述:
使用
let
做一个常数,var
使一个变量。常量的值在编译时不需要知道,但是您必须为它赋值一次。这意味着您可以使用常量来命名一次确定但在许多地方使用的值。
让我们考虑一些类:
class A {
var a = [String]()
}
由于arraya
是可变的,因此可通过进行定义var
。但是,如果我们考虑类B,其中A的实例是属性,该怎么办?
class B {
let b = A()
}
即使b
可变,let
关键字也可以,因为引用不会更改。另一方面,var
也可以,因为b
可以更改的内容。我应该怎么挑在这个例子中-let
或var
?
let
尽可能使用。var
必要时使用。使事物不可变会导致许多错误的发生,因此它应该是您的默认选择。尽可能设置所有值,init
并且永远不要更改它们。同样,您应该struct
在可能的时候和class
必须的时候使用(尽管根据我的经验,这比使用难得多let
)。
因此,在您的示例中,如果无法A.a
在初始化期间进行设置,则可以,它应该为var
。但在你的例子没有必要使用var
的B.b
。(而且,在任何一个示例中都没有理由class
至少使用您提出问题的方式来使用。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句