在Swift中修改变量后更新'let'语句

svmlkihl  于 12个月前  发布在  Swift
关注(0)|答案(2)|浏览(97)

我知道Swift会按顺序读取行,但是如果我在使用变量定义了一个语句后更改了该变量,我需要做什么函数/动作来更新变量?
举例来说:

var currentLocation = "Room 130"
let message = "I am currently in \(currentLocation)"
currentLocation = "Room 129"

如何在更改var声明后获得“我目前在Room 129”的消息?

cu6pst1q

cu6pst1q1#

一种方法是像这样使用getter:

var currentLocation = "Room 130"
var message: String {
    return "I am currently in \(currentLocation)"
}
currentLocation = "Room 129"

print(message)

按照标题中的建议更新let语句是不可能的。let是不改变的常量。

tuwxkamq

tuwxkamq2#

let的全部意义在于结果是一个常数。一旦设置,就不能更改。
正如其他人所说的,你可以把它变成一个计算属性,但这样它就不会是一个let常数了。

相关问题