在Swift中单行测试nil

时间:2016-04-10 00:22:37

标签: swift

我有一个可选的整数,如果它不是nil,我想将它分配给一个新变量,但是如果它是,则指定0。我也想在一条线上做。是否有充分的理由来执行以下操作?

let output = input != nil ? input! : 0

我觉得更像“正确”的方式就像

let output = {
    if let _ = input {
        return input!
    } else {
        return 0
    }
}()

但它更加冗长。

1 个答案:

答案 0 :(得分:5)

实际上,Swifty方式是:

let output = input ?? 0

适用于这种情况的??运算符意味着:“如果可以,请安全地展开此可选项;如果不能,请使用此备用值”。