为什么 Xcode 一直坚持使用 let 而不是 var?

Why does Xcode keeps insisting on using let rather than var?

对于最近的 Xcode 更新之一,它一直告诉我尝试使用 "let" 而不是 "var"。为什么?我原以为 "var" 是最好的,并且只在特定情况下使用 "let"。

恰恰相反,let更安全

对于 let,开发人员明确声明该值是一个不应更改的常量,并且编译器确保了这一点,它强制执行开发人员的用法概念。

对于 var,开发人员明确声明该值可以更改,该更改是预期的。在值未更改的情况下,编译器会通知开发人员这一点,并且开发人员可以(应该)更改为 let.

通过强制执行此操作的编译器,代码库可以更安全地防止无意的值更改。

您应该始终尝试做最安全的事情。如果你可以修改一个对象,那么你就可以错误地修改它。如果你不能修改一个对象,那么你就不能错误地修改它。因此,如果您不想修改对象或值,您应该使用 "let" 而不是 "var"。

或者反过来看:如果你使用 "var" 你声明你打算修改这个值。如果你没有修改值,可能是因为你使用了错误的变量名。假设你有 var x 和 var y,然后你写 x = 100 和 x = 200。你在第二种情况下使用了错误的标识符。编译器检测到您的意图和操作不同。