我添加了两个可选数字。现在它看起来像这样:
if let a = optionalA {
if let b = optionalB {
return a + b
}
}
return nil
对于方法,有更方便的可选链接语法,如optionalA.?method
语法。如果任何一方都是nil
,那么算术运算符是否会返回nil
?
答案 0 :(得分:1)
可以像这样创建一个运算符+?
:
infix func +?(a: Int?, b: Int?) -> Int? {
if aa = a {
if bb = b {
return aa + bb
}
}
return nil
}
但我想知道是否还有其他内置方法可以做到这一点。
答案 1 :(得分:1)
我不认为有内置方式。但是你可以创建自己的运算符函数:
func +(lhs: Int?, rhs: Int?) -> Int? {
if let a = lhs {
if let b = rhs {
return a + b
}
}
return nil
}
var a: Int? = 1
var b: Int? = 2
var c = a + b
答案 2 :(得分:0)
这是针对Swift 3更新的自定义运算符方法:
infix operator +?
func +?(a: Int?, b: Int?) -> Int? {
if let aa = a, let bb = b {
return aa + bb
}
return nil
}