gpt4 book ai didi

swift : Useless default value for Optional?

转载 作者:搜寻专家 更新时间:2023-10-31 21:51:56 25 4
gpt4 key购买 nike

我正在创建一个这样的函数:

func foo(bar: UInt? = 0) {
let doSomething = someOtherFunc(bar!)
}

如果我向 foo() 传递一个 nil 值,我希望在解包时使用默认值 0,而不是我遇到了常见错误 unexpectedly found nil while unwrapping an Optional value

我哪里错了?

最佳答案

默认值 = 0 仅在您不提供参数时使用对于可选参数:

func foo(bar: UInt? = 0) {
println(bar)
}

foo(bar: nil) // nil
foo(bar: 1) // Optional(1)
foo() // Optional(0), default value used

如果您打算用 0 替换传递的 nil 值那么你可以使用 nil-coalescing 运算符 ??:

func foo(bar: UInt?) {
println(bar ?? 0)
}

foo(nil) // 0
foo(1) // 1

关于 swift : Useless default value for Optional?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29634364/

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