运行此代码会导致最后一行出现错误“变量'消息'在被初始化之前使用”。
var message: String
if true {
message = "Hello, world"
}
println(message)
既然if
语句 always true
,为什么编译器认为message
没有初始化呢?也许这是一个错误?
这个例子有效:
var message: String
var n = 70
if n < 50 {
message = "n is less than 50"
} else {
message = "n is greater than or equal to 50"
}
println(message)
删除该else
语句会导致与上述相同的错误,但这次是预期的,因为n
可能大于或等于 50。