大家好,我想弄清楚为什么下面的 swift 代码允许我为班级中的 wee 字符串分配一个新值。我认为 let 是不可变的,但它在这里有效。有人可以解释一下。谢谢。
import Foundation
class MyClass {
let wee:String
init?(inInt:Int) {
let j:String = "what"
//j = "I shouldn't be able to do this wiht let" // error rightly so
//println(j)
self.wee = "wow"
if inInt != 2 {
return nil
}
self.wee = "hey"
self.wee = "blas" // I shouldn't be able to do this
}
}
if let myClass:MyClass = MyClass(inInt: 2) {
myClass.wee // prints blas
}
Run Code Online (Sandbox Code Playgroud)