在Swift中处理可选选项的习惯用法似乎过于冗长,如果您只想在nil为零的情况下提供默认值,则它是:
if let value = optionalValue {
// do something with 'value'
} else {
// do the same thing with your default value
}
涉及不必要地复制代码,或
var unwrappedValue
if let value = optionalValue {
unwrappedValue = value
} else {
unwrappedValue = defaultValue
}
这不需要unwrappedValue
是常数。
Scala的Option monad(与Swift的Optional基本相同)具有getOrElse
用于此目的的方法:
val myValue = optionalValue.getOrElse(defaultValue)
我想念什么吗?Swift已经有一种紧凑的方式做到这一点吗?否则,是否可以getOrElse
在扩展名中为Optional 定义?
3
可能相关:Swift是否具有空合并运算符;如果没有,则自定义运算符的示例是什么?
—
Martin R