1、可選類型的聲明
在聲明常量或者變量時(shí)渡紫,在類型的后面加問號(hào)(?)乔外,即表示它是可選類型。聲明可選變量格式如下(可選變量顯而易見)
var 變量名:變量類型? = 變量值
var a:Int? = 3
可選類型的意思就是該變量可以為nil
tips:
可選類型的標(biāo)準(zhǔn)寫法
var a:Int?
var a:Optional<Int>
2纠炮、解包
可選項(xiàng)不能直接參與計(jì)算月趟,要使用可選項(xiàng)的值就必須對(duì)它進(jìn)行解包。解包方法是在可選項(xiàng)后邊加感嘆號(hào)(!)恢口,表示取得可選項(xiàng)的值孝宗,如果沒有值,則編譯器報(bào)錯(cuò)耕肩。
eg:
let a:Int? = 3
print(a!)
3因妇、隱式可選類型
只需將定義常量或變量時(shí)候的?
改為!
let str:String? = "可選"
print(str!)
let str1:String! = "隱式可選"
pring(str)
隱式可選類型本質(zhì)上就是可選類型问潭,所以除了不需要每次強(qiáng)制解包取值之外,其它特征是與可選類型一樣的沙峻。
4睦授、空合并運(yùn)算符
不多說,看代碼自己體會(huì)
假如let a:Int?
那么a ?? b
等價(jià)于a != nil ? a! : b