空合运算符(a ?? b
)将对可选类型a
进行空判断,如果a
包含一个值就进行解封,否则就返回一个默认值b
。表达式a
必须是Optional
类型。默认值b
的类型必须要和a
存储值得类型保持一致。
空合运算符是对一下代码的简短表达方法:
a != nil ? a! : b
下文例子采用空合运算符,实现了在默认颜色名和可选自定义颜色名之间选择:
var defaultColorName = "red"
var userDefinedColorName: String? // 默认值是nil
var colorNameToUse = userDefinedColorName ?? defaultColorName