【发布时间】:2014-11-23 18:55:00
【问题描述】:
由于 Swift 很酷的行为,我一直在寻找 Swift 中的 or 等效项。
类似这样的:
variable = value or default
我编码mine:
func |<T>(a:T?, b:T) -> T {
if let a = a {
return a
}
return b
}
但我想知道 Swift 中是否已经存在任何默认实现?
编辑: 感谢答案,我在 Swift 书中找到了参考:
零合并运算符
nil 合并运算符 (
a ?? b) 如果包含值,则展开可选的 a,如果a为 nil,则返回默认值b。表达式a始终是可选类型。表达式b必须与存储在a中的类型匹配。nil 合并运算符是以下代码的简写:
a != nil ? a! : b上面的代码使用三元条件运算符和强制解包 (
a!) 在a不为零时访问包裹在a中的值,否则返回b。 nil 合并运算符提供了一种更优雅的方式来以简洁易读的形式封装这种条件检查和展开。 (source)
【问题讨论】:
标签: python ios swift operators