0

我阅读了 Zephir 的文档(https://docs.zephir-lang.com/0.12/en/types),但我不确定我是否理解 Zephir 之间varlet区别。我的第一个想法是,可能var只声明一个变量,如果你想将它分配给某个东西,你必须使用let. 但是后来我在文档中看到了以下几行:

var a = false, b = true;
var number = 5.0, b = 0.014;

我现在很困惑。

4

1 回答 1

1

根据文档

默认情况下,变量是不可变的。这意味着 Zephir 预计大多数变量将保持不变。保持初始值的变量可以由编译器优化为静态常量。当需要更改变量值时,必须使用关键字 let。

换句话说,您的假设似乎是正确的。您发布的示例使用的原因var是因为这些是初始分配而不是重新分配。在这种情况下,不可变意味着 Zephir 期望变量保持其原始值。

于 2020-03-01T08:13:54.383 回答