【发布时间】:2017-04-21 08:42:13
【问题描述】:
我最近开始学习 Swift 进行 iOS 开发。我有脚本语言的背景,尤其是 PHP。看到强调使用let 定义一个常量以支持var 让编译器优化生成的代码,我想知道:PHP 是否有等价物?或者它根本不适用,因为 PHP 不是静态编译的?
我在搜索时尝试了运气,但没有找到令人满意的信息。
【问题讨论】:
-
PHP has constants 通过
define('CONSTNAME', 'constant value')或const CONSTNAME = 'constant value'in a class 定义。这是你想知道的吗? -
@MichaelBerkowski 来自 Apple aisde 的狡猾命名法,
let变量不是常量,它们是不可变变量。它们在运行时被初始化,在看到定义的地方(如果重新进入定义它们的块,可能不止一次)。 -
例如,如果
x是函数参数,let y = x + 1是完全合法的,并且每次调用函数时都会给y一个不同的值(但不能在函数)。 -
@hobbs:很有趣。我还没有意识到这一点。
-
@MichaelBerkowski:听起来对我来说是正确的。这就是我在 PHP 中使用它们的方式。考虑到 hobbs 的评论,我需要澄清一下,我想知道 PHP 中是否存在不可变变量与常规变量之类的概念。