gpt4 book ai didi

ios - swift 中的惰性函数评估

转载 作者:搜寻专家 更新时间:2023-10-31 22:15:30 24 4
gpt4 key购买 nike

想知道是否可以懒惰地评估一个简单的 if 语句。下面是一个将打印“this is foo”和“this is bar”的示例,但我真的想让它只打印第一个字符串:

func foo() {
println("this is foo")
}

func bar() {
println("this is bar")
}

func maybeFooOrBar(isFoo: Bool) {
let myFoo = foo()
let myBar = bar()
isFoo ? myFoo : myBar
}

最佳答案

不知道这是不是你想要的,你可以使用函数作为类型

func foo() {
println("this is foo")
}

func bar() {
println("this is bar")
}

func maybeFooOrBar(isFoo: Bool) {
let myFoo = foo
let myBar = bar
let result = isFoo ? myFoo : myBar
result()
}

然后,如果您callmaybeFooOrBar(true) 将打印第一个函数,callmaybeFooOrBar(false)将打印第二个函数

此外,这可以以一种清晰的方式完成

func maybeFooOrBar(isFoo: Bool) {
(isFoo ? foo : bar)()
}

关于ios - swift 中的惰性函数评估,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30753957/

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