空合运算符??
AAA??BBB
表示对可选类型AAA进行是否为空的判断,如果AAA包含一个值就进行解封,否则就返回一个默认值BBB,这个运算符有两个条件:
1、表达式AAA 必须是optional类型
2、默认值BBB的类型必须要和AAA的数据类型保持一致
利用AAA != nil ? AAA! : BBB
来解释空合运算符??
当可选类型AAA的值不为空的时候,就强制解封
AAA!
并访问AAA中的值;反之,当AAA中的值为空时,返回默认值BBB。注意:如果AAA为非空,那么就会取AAA的值。
AAA为optional类型,默认值为空,取后者的值
let AAA: String? = nil // 默认值为 nil
let BBB = "red"
let CCC = AAA ?? BBB
print("+++",CCC)// red
AAA为optional类型,不为空,取??前者的值
let AAA: String? = "blue"
let BBB = "red"
let CCC = AAA ?? CCC
print("+++",CCC)// blue
网友评论