gpt4 book ai didi

optimization - switch 语句优化(Swift)

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

在 swift switch 语句中,条件是被调用一次还是针对每种情况调用一次?哪个更快?

switch foo(param) {
case 0:
NSLog(0)
default:
NSLog("default")
}

let myNumber = foo(param)    

switch myNumber {
case 0:
NSLog(0)
default:
NSLog("default")
}

最佳答案

switch 仅对其参数求值一次。

正如 Martin 在评论中所建议的,这个例子证明了这一点

func foo(name: String) -> Int {
println(name)
return countElements(name)
}

switch foo("hello") {
case 0: println(0)
case 1: println(1)
default: println("default")
}

输出

hello
default

如果它针对每个案例进行评估,您会期望

hello
hello
default

代替

关于optimization - switch 语句优化(Swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25284522/

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