2 回答
TA贡献1966条经验 获得超4个赞
如果要在后台运行每个循环,请将 goroutine 嵌套在循环中并使用该sync.WaitGroup结构。
import "sync"
fmt.Println("We are doing something")
//line below is my question
wg := sync.WaitGroup{}
// Ensure all routines finish before returning
defer wg.Wait()
for i := 1; i < 10; i ++ {
wg.Add(1)
go func() {
defer wg.Done()
fmt.Println("stuff running in background")
}()
}
// life goes on
fmt.Println("c'est la vie")
TA贡献1776条经验 获得超12个赞
做到这一点的唯一方法确实是围绕它创建一个函数。在您的示例中,这就是您的操作方式。
fmt.Println("We are doing something")
//line below is my question
go func() {
for i := 1; i < 10; i ++ {
fmt.Println("stuff running in background")
}
}()
// life goes on
fmt.Println("c'est la vie")
记下最后对函数的实际调用}()。否则编译器会向你抱怨。
- 2 回答
- 0 关注
- 185 浏览
添加回答
举报