通过尽可能多地定义常量而不是变量,Swift有没有增益?

Spa*_*Dog 6 variables var constants let swift

通过定义尽可能多的常量x变量,在Swift中,速度,内存使用等方面是否有任何增益?

我的意思是,尽可能多地定义let而不是var

Sul*_*han 11

理论上,速度或内存使用应该没有区别 - 在内部,变量的工作方式相同.实际上,让编译器知道某个东西是常量可能会导致更好的优化.

但最重要的原因是使用常量(或不可变对象)有助于防止程序员错误.默认情况下,方法参数和迭代器是常量不是偶然的.

使用不可变对象在多线程应用程序中也非常有用,因为它们可以防止出现一种类型的同步问题.