- 在Swift中梯醒, 變量(常量)可能有值雹食,可能為 nil 澎粟,稱為可選
- 使用
?
標(biāo)識(shí)某個(gè)值是一個(gè)可選值
- 使用
//num 可以是一個(gè)整數(shù)应闯,也可以是nil纤控,如果為 nil 不能參與計(jì)算
var num: Int? = 10
- 可選項(xiàng)的值不能直接進(jìn)行運(yùn)算
- 使用
!
向系統(tǒng)表明,我這個(gè)可選值里一定有值 (強(qiáng)行解包) - 需要考慮
!
標(biāo)識(shí)的變量里是否真的有值- "unexpectedly found nil while unwrapping an Optional value" --> 對(duì)一個(gè)值為 nil 的可選項(xiàng)進(jìn)行強(qiáng)制解包
- 使用
let r = num! + 10 //如果num為nil 則會(huì)報(bào)上面的錯(cuò)誤
//使用的時(shí)候 可以判斷是否為nil 不為nil的時(shí)候才進(jìn)行運(yùn)算
if (a != nil){
let r = num! + 10
print(r)
}
-
??
運(yùn)算符- Swift 中
??
用于判斷 常量/變量 的數(shù)值是否為nil碉纺,如果是nil船万,則用后面的值代替
- Swift 中
let r = (num ?? 0) + 10
print(r)
如果num不為nil ,正常進(jìn)行運(yùn)算骨田;如果num為nil耿导,則用0代替。