Swift编程

合并空值运算符

2020-01-05  本文已影响0人  码农UP2U

今天继续学习 极客时间张杰 老师的 Swift 的课程,看的真是辛苦,感觉讲的好慢。我这强迫症又不愿意跳着学。

合并空值运算符

合并空值运算符使用两个问号表示,类似 a ?? b,表示当 a 成立时结果为 a,否则为 b。这个运算符类似三目运算符,而且在其他语言中也有这种运算符。

简单的看一下这个运算符。

代码示例

以下是一些合并空值的代码示例。

let aa: Int? = nil
let bb = 8
// 输出 8
print(aa ?? bb)

let aaa: String? = nil
// 输出 8
print(aaa ?? bb)

let aaaa: Int = 88
// 输出 88
print(aaaa ?? bb)   // 此句会有警告,原因是 aaaa 不是可选类型

let aaaaa: String = "abc"
print(aaaaa ?? bb)      // 此句会有警告,原因是 aaaaa 不是可选类型

func getNumber() -> Int {
    print("in getNumber")
    return 8
}

print(aaaa ?? getNumber())  // 此句会有警告,原因是 aaaa 不是可选类型
print(aa ?? getNumber())

// 两个可选类型做加法,使用合并空值运算,可以省去很多判断
func addTwoNumber(num1: Int?, num2: Int?) -> Int {
    return (num1 ?? 0) + (num2 ?? 0)
}

print(addTwoNumber(num1: nil, num2: nil))


我的微信公众号:“码农UP2U”
上一篇下一篇

猜你喜欢

热点阅读