我有一个可选的整数,如果它不是nil,我想将它分配给一个新变量,但是如果它是,则指定0。我也想在一条线上做。是否有充分的理由不来执行以下操作?
let output = input != nil ? input! : 0
我觉得更像“正确”的方式就像
let output = {
if let _ = input {
return input!
} else {
return 0
}
}()
但它更加冗长。
答案 0 :(得分:5)
实际上,Swifty方式是:
let output = input ?? 0
适用于这种情况的??
运算符意味着:“如果可以,请安全地展开此可选项;如果不能,请使用此备用值”。