gpt4 book ai didi

go - 是否可以使用 for 循环迭代 golang 中的返回函数?

转载 作者:IT王子 更新时间:2023-10-29 02:27:45 26 4
gpt4 key购买 nike

假设我们有这个:

func foo() func() int {
return func() {
for i := range [0..10] {
return i
}
}
}

func main() {
for i := foo() {

}
}

我可以在 for 循环中迭代返回的函数而不知道它将循环多少次吗?

最佳答案

例如,

package main

import "fmt"

func foo(n int) func() (int, bool) {
i := -1
return func() (int, bool) {
if i >= n {
return 0, true
}
i++
return i, false
}
}

func main() {
f := foo(5)
for i, eof := f(); !eof; i, eof = f() {
fmt.Println(i)
}
}

输出:

0
1
2
3
4
5

关于go - 是否可以使用 for 循环迭代 golang 中的返回函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35630747/

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