并发
package main
import (
"fmt"
"sync" "testing" "time")
func doSomething(index int, wg *sync.WaitGroup) {
defer wg.Done()
fmt.Printf("before %d\n", index)
time.Sleep(time.Second * 3)
fmt.Printf("after %d\n", index)
}
func TestWg(t *testing.T) {
wg := sync.WaitGroup{}
wgNum := 3
wg.Add(wgNum)
for i := 0; i < wgNum; i++ {
go doSomething(i, &wg)
}
wg.Wait()
}