我阅读了 Zephir 的文档(https://docs.zephir-lang.com/0.12/en/types),但我不确定我是否理解 Zephir 之间var
的let
区别。我的第一个想法是,可能var
只声明一个变量,如果你想将它分配给某个东西,你必须使用let
. 但是后来我在文档中看到了以下几行:
var a = false, b = true;
var number = 5.0, b = 0.014;
我现在很困惑。
我阅读了 Zephir 的文档(https://docs.zephir-lang.com/0.12/en/types),但我不确定我是否理解 Zephir 之间var
的let
区别。我的第一个想法是,可能var
只声明一个变量,如果你想将它分配给某个东西,你必须使用let
. 但是后来我在文档中看到了以下几行:
var a = false, b = true;
var number = 5.0, b = 0.014;
我现在很困惑。
根据文档:
默认情况下,变量是不可变的。这意味着 Zephir 预计大多数变量将保持不变。保持初始值的变量可以由编译器优化为静态常量。当需要更改变量值时,必须使用关键字 let。
换句话说,您的假设似乎是正确的。您发布的示例使用的原因var
是因为这些是初始分配而不是重新分配。在这种情况下,不可变意味着 Zephir 期望变量保持其原始值。