这个问题在这里已有答案:
我很惊讶这个编译
var x: Int? = 3 x? = 5
这似乎与x = 5做同样的事情,但对我来说这根本就没有意义。它会表现得不同(例如,如果x是一个不同的类型,或者它是一个属性)?
x = 5
x
当你使x可选
x? = 5
如果x最初是nil那么该线将不会运行,否则它将充当x = 5
nil