Swift 中计算属性和将函数设置为变量之间的区别

jon*_*087 3 instantiation swift computed-properties

我有这两种方法来设置我在SO中看到的字符串。

我想知道其中一种相对于另一种的优势是什么,以及是否有人可以给我该语法的文章或文档的链接。

我相信第一个称为计算属性,并且我已阅读 swift.org 上的计算属性部分。

我认为第二个实际上只是将常量名称“string2”设置为闭包,但我可能没有将其称为正确的事情,这就是我问的原因,因为我真的找不到任何关于它的文章或文档。谢谢提前寻求任何帮助。

var string1: String { return "My first string"}

let string2 = { return "My second string"}()
Run Code Online (Sandbox Code Playgroud)

Kon*_*Kon 7

每次引用该变量时,计算属性中的代码都会执行。由闭包初始化的属性中的代码仅在初始化期间执行一次。