Nil-Coalescing 運算子
nil-coalescing 運算子 <OPTIONAL> ?? <DEFAULT VALUE>
如果包含值則展開 <OPTIONAL>
,如果為 nil 則返回 <DEFAULT VALUE>
。<OPTIONAL>
始終是可選型別。<DEFAULT VALUE>
必須與 <OPTIONAL>
中儲存的型別相匹配。
nil-coalescing 運算子是下面使用三元運算子的程式碼的簡寫:
a != nil ? a! : b
這可以通過以下程式碼驗證:
(a ?? b) == (a != nil ? a! : b) // ouputs true
時間示例
let defaultSpeed:String = "Slow"
var userEnteredSpeed:String? = nil
print(userEnteredSpeed ?? defaultSpeed) // ouputs "Slow"
userEnteredSpeed = "Fast"
print(userEnteredSpeed ?? defaultSpeed) // ouputs "Fast"