让我们看看这个精心设计的例子:
package main
import "fmt"
func printElo() {
fmt.Printf("Elo\n")
}
func printHello() {
fmt.Printf("Hello\n")
}
func main() {
fmt.Printf("This will print.")
i := 0
for i < 10 {
go printElo()
go printHello()
i++
}
}
该程序的输出将只是"This will print".Goroutines printElo()
和printHello
的输出将不会发出,因为我猜main()
函数线程将在Goroutines甚至有机会开始执行之前完成.
让类似的代码在Golang中工作而不过早终止的惯用方法是什么?