我正在使用带有标签的无限循环。在for循环的范围之外,我有一个按照例行程序运行的预定函数。当某个条件满足时,我想打破预定函数的for循环。我怎样才能做到这一点?这是我正在尝试的,由于范围问题,这显然不起作用。Golang:我如何停止从循环外执行for循环?
package main
import (
"fmt"
"time"
"sync"
)
func main() {
count := 0
var wg sync.WaitGroup
wg.Add(1)
t := time.NewTicker(time.Second*1)
go func(){
for {
fmt.Println("I will print every second", count)
count++
if count > 5 {
break myLoop;
wg.Done()
}
<-t.C
}
}()
i := 1
myLoop:
for {
fmt.Println("iteration", i)
i++
}
wg.Wait()
fmt.Println("I will execute at the end")
}
你看过Go频道吗? – Nadh
这是基本的围棋并发,一个良好的开端可能会在[围棋之旅并发章(https://tour.golang.org/concurrency/1) – JimB
使用通过阅读转到博客取消管道:HTTPS ://blog.golang.org/pipelines – eduncan911