为什么 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。你在第二种情况下使用了错误的标识符。编译器检测到您的意图和操作不同。
对于最近的 Xcode 更新之一,它一直告诉我尝试使用 "let" 而不是 "var"。为什么?我原以为 "var" 是最好的,并且只在特定情况下使用 "let"。
恰恰相反,let
更安全
对于 let
,开发人员明确声明该值是一个不应更改的常量,并且编译器确保了这一点,它强制执行开发人员的用法概念。
对于 var
,开发人员明确声明该值可以更改,该更改是预期的。在值未更改的情况下,编译器会通知开发人员这一点,并且开发人员可以(应该)更改为 let
.
通过强制执行此操作的编译器,代码库可以更安全地防止无意的值更改。
您应该始终尝试做最安全的事情。如果你可以修改一个对象,那么你就可以错误地修改它。如果你不能修改一个对象,那么你就不能错误地修改它。因此,如果您不想修改对象或值,您应该使用 "let" 而不是 "var"。
或者反过来看:如果你使用 "var" 你声明你打算修改这个值。如果你没有修改值,可能是因为你使用了错误的变量名。假设你有 var x 和 var y,然后你写 x = 100 和 x = 200。你在第二种情况下使用了错误的标识符。编译器检测到您的意图和操作不同。