package mainimport ("fmt""sync")var wg = sync.WaitGroup{}func helloSun() {fmt.Println("hello Sun")wg.Done() // 计数器-1}func main() {// main_1()main_10000()}func main_1() {wg.Add(1) // 计数器+1go helloSun()fmt.Println("hello main")wg.Wait() // 阻塞等待计数器归零再结束}// 并发10000并使用匿名函数func main_10000() {wg.Add(10000) // 直接到10000for i := 0; i < 10000; i++ {go func(i int) {fmt.Println("hello ", i) // i必须从匿名函数中传入wg.Done() // 计数器-1}(i)}fmt.Println("hello main")wg.Wait() // 阻塞等待计数器归零再结束}
正在学习Go语言的PHP程序员。