gpt4 book ai didi

Swift 使用 nil 合并运算符简化可选 Int 到 String 的转换

转载 作者:搜寻专家 更新时间:2023-11-01 06:15:51 24 4
gpt4 key购买 nike

假设我有以下场景:

var str: String
var num: Int?

if let num = num {
str = "\(num) foo"
}
else {
str == "? foo"
}

流控语句能不能简化成一行? IE。类似的东西:

var str: String
var num: Int?

str = "\(String(num) ?? "?") foo"

最佳答案

您可以通过可选链接调用description 属性,然后使用nil 合并运算符 ??如果 numnil(导致 可选链 返回):

str = "\(num?.description ?? "?") foo"

例子:

for num in [nil, 5] {
let str = "\(num?.description ?? "?") foo"
print(str)
}
? foo
5 foo

关于Swift 使用 nil 合并运算符简化可选 Int 到 String 的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45261773/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com