加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

常数 – “let”关键字在Swift中如何工作?

发布时间:2020-12-14 05:57:23 所属栏目:百科 来源:网络整理
导读:我在本指南中阅读了这个简单的解释: The value of a constant doesn’t need to be known at compile time,but you must assign it a value exactly once. 但我想要比这更多的细节。如果常量引用一个对象,我还可以修改其属性吗?如果它引用了一个集合,我
我在本指南中阅读了这个简单的解释:

The value of a constant doesn’t need to be known at compile time,but you must assign it a value exactly once.

但我想要比这更多的细节。如果常量引用一个对象,我还可以修改其属性吗?如果它引用了一个集合,我可以添加或删除元素吗?我来自C#背景;它类似于readonly如何工作(除了能够在方法体中使用它),如果不是,它是如何不同的?

let有点像C中的const指针。如果使用let引用对象,可以更改对象的属性或调用方法,但是不能为该标识符分配不同的对象。

还有对集合和非对象类型的影响。如果引用一个使用let的结构体,则不能更改其属性或调用其任何mutation func方法。

使用let / var与集合非常类似于mutable / immutable Foundation集合:如果将数组分配给let,则不能更改其内容。如果您引用了一个字典与let,您不能添加/删除键/值对或为键分配一个新的值 – 它是真正不变的。如果要分配到下标,附加或以其他方式突变数组或字典,则必须使用var声明它。

(在Xcode 6 beta 3之前,Swift数组有一个奇怪的价值和参考语义的混合,当被分配给一个let时,它们是部分可变的 – 现在已经不复存在了)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读