-
合并空值运算符(a ?? b)如果可选项a有值则展开,如果没有值,是nil,则返回默认值b
-
表达式a必须是一个可选类型。表达式b必须与a的存储类型相同
-
实际上是三元运算符作用到Optional上的缩写,(a!=nil?a!:b)
code
//: A UIKit based Playground for presenting user interface
import UIKit
// 直接拆包 具有危险性,
func addTwoNum(num1:Int?,num2:Int?)->Int{
return num1!+num2!;
}
// 以往的写法比较繁琐,
func addTwoNum2(num1:Int?,num2:Int?)->Int{
if(num1 != nil && num2 != nil){
return num1!+num2!
}
if(num1 != nil){
return num1!
}
if(num2 != nil){
return num2!
}
return 0
}
func addTowNum3(num1:Int?,num2:Int?)->Int{
return (num1 ?? 0)+(num2 ?? 0)
}
来源:oschina
链接:https://my.oschina.net/u/4417917/blog/4469436