<分区>
我有一个可选的整数,如果它不是零,我想将它分配给一个新变量,如果是,我想分配给 0。我也想在一条线上完成。是否有充分的理由不执行以下操作?
让输出=输入!=零?输入! : 0
我觉得更“合适”的方式应该是
let output = {
if let _ = input {
return input!
} else {
return 0
}
}()
但它要冗长得多。
标签 swift
<分区>
我有一个可选的整数,如果它不是零,我想将它分配给一个新变量,如果是,我想分配给 0。我也想在一条线上完成。是否有充分的理由不执行以下操作?
让输出=输入!=零?输入! : 0
我觉得更“合适”的方式应该是
let output = {
if let _ = input {
return input!
} else {
return 0
}
}()
但它要冗长得多。
最佳答案
实际上 Swifty 的方法是:
let output = input ?? 0
??
运算符正是为这种情况而设计的,意思是:“如果可以,请安全地展开此 Optional;如果不能,请使用此替代值”。
关于swift - 在 Swift 的单行上测试 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36524321/