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

前端之家收集整理的这篇文章主要介绍了常数 – “let”关键字在Swift中如何工作?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在本指南中阅读了这个简单的解释:

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时,它们是部分可变的 – 现在已经不复存在了)

原文链接:https://www.f2er.com/swift/320679.html

猜你在找的Swift相关文章