通过在类型后面加一个 ? 来将变量声明为 Optional 的。
如果不是 Optional 的变量,那么它就必须有值。
如果可能没有值的话,我们使用 Optional 并且将它设置为 nil 来表示没有值。
//num 不是一个 Int
var num: Int?
//num 没有值
num = nil //nil
//num 有值
num = 3 //{Some 3}
//如果不声明为Optional,又设为nil时则会报错 Nil cannot be assigned to type 'Int'
var count:Int = 0
count = nil
如果可选值为nil
,则条件判断为false
,花括号中的代码会被跳过。反之,可选值去包装并且赋给let
后面的常量,使得去包装的值可以在代码块内部访问。
var num: Int? = 3
if let n = num {
//have a num
n++
} else {
//no num
n--
}
网友评论