通过定义尽可能多的常数x变量,在Swift中,速度,内存使用等方面是否有任何增益?
我的意思是,尽可能使用let
而不是var
进行定义?
答案 0 :(得分:11)
理论上,速度或内存使用应该没有区别 - 在内部,变量的工作方式相同。在实践中,让编译器知道某些东西是常量可能会导致更好的优化。
然而,最重要的原因是使用常量(或不可变对象)有助于防止程序员错误。默认情况下,方法参数和迭代器是常量不是偶然的。
使用不可变对象在多线程应用程序中也非常有用,因为它们可以防止出现一种类型的同步问题。