【发布时间】:2014-08-30 06:01:35
【问题描述】:
在 Swift 中通过定义尽可能多的常量 x vars 是否在速度、内存使用等方面有任何提升?
我的意思是,尽可能使用let 而不是var 进行定义?
【问题讨论】:
标签: variables swift constants var let
在 Swift 中通过定义尽可能多的常量 x vars 是否在速度、内存使用等方面有任何提升?
我的意思是,尽可能使用let 而不是var 进行定义?
【问题讨论】:
标签: variables swift constants var let
理论上,速度或内存使用量应该没有差异 - 在内部,变量的工作方式相同。在实践中,让编译器知道某些东西是常量可能会带来更好的优化。
然而最重要的原因是使用常量(或不可变对象)有助于防止程序员出错。方法参数和迭代器默认为常量并非偶然。
使用不可变对象在多线程应用程序中也非常有用,因为它们可以防止一种类型的同步问题。
【讨论】:
var a = 5,编译器也可以决定它并不真正需要该变量(因为它知道如何使用该变量)因此不必有区别,let 只会使编译器能够更好地优化。