可以在Swift中执行以下操作:
let params: String
if let aString = someOptionalString {
params = "?someparam=\(aString)"
} else {
params = ""
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我可以这样写它会更简洁:
let params = let aString = someOptionalString ? "?someparam=\(aString)" : ""
Run Code Online (Sandbox Code Playgroud)
要么
let params = case let aString = someOptionalString ? "?someparam=\(aString)" : ""
Run Code Online (Sandbox Code Playgroud)
然而,这不会以任何我能想到的方式编译.这可能吗?如果没有,为什么不呢?有没有办法建议实现它,或者我只能尝试首先将自己添加到Swift项目中,然后向社区提出更改?
因为映射可选项是一个更明智的选择:
let params = someOptionalString.map{ "?someparam\($0)" } ?? ""
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
62 次 |
| 最近记录: |