我敲下一堆代碼,終於長出了果實,今天是個偉大日子
package main import ( "fmt" "sync" "time" ) /* waitgroup在go中,用於線程同步,指等待一個組,等待一個系列執行完成后,才會向下執行 */ func main() { wg := sync.WaitGroup{} for i := 0; i < 10; i++ { wg.Add(1) go calc(&wg, i) } wg.Wait() fmt.Println("all goroutine finish") } func calc(w *sync.WaitGroup, i int) { fmt.Println("calc:", i) time.Sleep(time.Second) w.Done() }