gpt4 book ai didi

Swift 3 尝试默认值

转载 作者:可可西里 更新时间:2023-11-01 01:23:11 24 4
gpt4 key购买 nike

我正在学习 Swift 并且正在测试以下代码

var value: String;
do {
value = try getValue()
} catch {
value = "Default Value"
}

可以缩短为

let value = (try? getValue()) ?? "Default Value"

它有效,但我觉得我可能缺少一个更明显的解决方案。

最佳答案

您的解决方案非常棒,而且非常优雅。

我想我们想避免在第一行说 var 并在稍后初始化变量。 一般,使用复杂初始化程序立即初始化值的方法是使用定义和调用结构:

let value: String = {
do {
return try getValue()
} catch {
return "Default Value"
}
}()

如果 catch block 返回了您想捕获的 error 信息,您可能会想要这样做。

但是,在这种情况下,您忽略了错误的性质,您的表达式更加紧凑,并且完全按照您的意愿进行。 try? 将返回一个 Optional,如果我们成功,它将被解包,或者如果我们失败,将返回 nil 并导致替代值(“默认要使用的值")。

关于Swift 3 尝试默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42738755/

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