我有很多这样的代码:
if let x = optbool {
return f(x)
} else {
return false
}
可以单行表达吗?
以下语句等效于您的代码:
return optbool.map(f) ?? false
如果optbool == nil
然后.map(f)
返回nil
,则nil-coalescing运算符?? false
将其更改为false
。
如果optbool != nil
则.map(f)
返回f(optbool!)
,这也是nil-coalescing运算符的结果。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句