gitlab.com/Raven-IO/raven-delve@v1.22.4/_fixtures/goroutines-trace.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "sync" 6 ) 7 8 func callme(i int, s string) int { 9 fmt.Println(s) 10 return i * i 11 } 12 13 func dostuff(wg *sync.WaitGroup, lbl string) { 14 defer wg.Done() 15 var j int 16 for i := 0; i < 10; i++ { 17 j += callme(i, lbl) 18 } 19 println(lbl, j) 20 } 21 22 func main() { 23 var wg sync.WaitGroup 24 25 for _, lbl := range []string{"one", "two", "three", "four", "five"} { 26 for i := 0; i < 10; i++ { 27 wg.Add(1) 28 go dostuff(&wg, lbl) 29 } 30 } 31 wg.Wait() 32 }