Swift 语言 Nil 合并运算符
示例
如果非零值,则可以使用nil合并运算符解包,否则请提供其他值:
func fallbackIfNil(str: String?) -> String {
return str ?? "Fallback String"
}
print(fallbackIfNil("Hi")) // Prints "Hi"
print(fallbackIfNil(nil)) // Prints "Fallback String"该运算符能够短路,这意味着如果左操作数为非nil,则不会计算右操作数:
func someExpensiveComputation() -> String { ... }
var foo : String? = "a string"
let str = foo ?? someExpensiveComputation()在此示例中,与foonon-nil一样,someExpensiveComputation()将不会被调用。
您还可以将多个nil合并语句链接在一起:
var foo : String? var bar : String? let baz = foo ?? bar ?? "fallback string"
在此示例中,baz将为fooif的展开值分配为非nil,否则,将为其分配的展开值,bar如果为nonnil,否则为后备值。
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西