空合運算符(a ?? b)將對可選類型a進行空判斷,如果a包含一個值就進行解封,否則就返回一個默認值b。表達式a必須是Optional類型。默認值b的類型必須要和a存儲值得類型保持一致。
空合運算符是對一下代碼的簡短表達方法:
a != nil ? a! : b
下文例子采用空合運算符,實現(xiàn)了在默認顏色名和可選自定義顏色名之間選擇:
var defaultColorName = "red"
var userDefinedColorName: String? // 默認值是nil
var colorNameToUse = userDefinedColorName ?? defaultColorName