for-loop - 有没有一种方法可以将 for 循环作为 go 例程运行而无需将其放在单独的 func 中

标签 for-loop go goroutine

假设我想设置一个 for 循环运行但不想阻止执行,显然我可以将 for 循环放在函数 f 中并调用 go f 继续我的生活,
但我很好奇是否有一种方法可以直接调用 go for,比如:

fmt.Println("We are doing something")
//line below is my question
go for i := 1; i < 10; i ++ {
    fmt.Println("stuff running in background")
} 
// life goes on
fmt.Println("c'est la vie")

最佳答案

做到这一点的唯一方法确实是围绕它创建一个函数。在您的示例中,这就是您的做法。

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")

记下 }() 末尾函数的实际调用。否则编译器会向你提示。

关于for-loop - 有没有一种方法可以将 for 循环作为 go 例程运行而无需将其放在单独的 func 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18624296/

相关文章:

.htaccess - 没有 Nginx 或 Apache 的 Golang htaccess 配置

go - goroutines中的请求时间

go - 使用无缓冲 channel 的并发问题

Python 列表和 for 循环。我如何与我打算处理后续项目而不是第一个项目的 for 循环通信?

ios - 在 for 循环中将 subview 设置为 nil

go - 如何在不使用time.Sleep的情况下等待所有goroutine完成?

go - 触发并忘记 goroutine golang

r - [R] : applying a function to columns based on conditional row position

Python在列表理解的一次迭代中有条件地插入多个元素

pointers - 为什么在 Go 中不能将整数添加到 "dereferenced"指针变量?