这将无法编译并出现以下错误:
不可变值“self.constantValue”不得传入输出
class Test {
let constantValue: String = ""
init() {
Test.makeABC(&constantValue)
}
static func makeABC(_ string: inout String) {
string = "ABC"
}
}
然而,这将编译并实际改变 let 常量。
class Test {
let constantValue: String = ""
init() {
try? Test.makeABC(&constantValue)
}
static func makeABC(_ string: inout String) throws {
string = "ABC"
}
}
有谁知道为什么会这样以及它是否是预期的行为?