gpt4 book ai didi

Swift 变量语法

转载 作者:行者123 更新时间:2023-11-28 06:11:06 26 4
gpt4 key购买 nike

抱歉问了一个愚蠢的问题。但是我对此感到困惑:

var debugMessage: String {
return "Level 1"
}

该代码的含义是否与:

var debugMessage: String = "Level 1"

还是闭包?

最佳答案

第一个:

var debugMessage: String {
return "Level 1"
}

的缩写形式
var debugMessage: String {
get { return "Level 1" }
}

这是一个只有 getter 的计算属性声明。

第二个只是带有初始化的简单存储属性声明。

如您所见,一个是计算属性,另一个是存储属性。因此,它们的区别与计算属性和存储属性之间的区别大致相同。

这里有一些。

  • 无法设置只有 getter 的计算属性。可以设置用 var 声明的存储属性
  • 计算属性可以放在扩展中。存储的属性不能。
  • 计算属性实际上并不占用内存(“级别 1”不存储在内存中)直到您访问它。对象初始化时,存储的属性会将其值放入内存。

关于Swift 变量语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46566515/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com