1.合并空值运算符(a??b),如果可选项a有值则展开,如果没有值,是nil,则返回默认值b.
2.表达式a必须是一个可选类型.表达式b必须与a的储存类型相同.
3.实际上是三元运算符作用到Optional上的缩写(a!=nil?a!:b).
4.如果a的值是非空的,b的值将不会被考虑,也就是合并空值运算符是短路的.
实例1:
let a: Int? = 3
let b = 4
print(a ?? b)//3
实例2:
let num = addTwoNum(num1: 3, num2: nil)
print(num)//3
func addTwoNum(num1: Int? ,num2: Int?) -> Int {
return (num1 ?? 0) + (num2 ?? 0)
}