• go 关键字
  • 协程

    协程是一种用户态的轻量级线程

  1. go func() {
  2. // 协程任务
  3. } ()

sync

sync.WaitGroup 控制协程数量

  1. package main
  2. import (
  3. "fmt"
  4. "sync"
  5. )
  6. var wg sync.WaitGroup
  7. func main() {
  8. wg.Add(5)
  9. for i := 0; i < 10; i++ {
  10. go Add(i, i)
  11. }
  12. wg.Wait()
  13. }
  14. func Add(x, y int) {
  15. defer wg.Done()
  16. z := x + y
  17. fmt.Println(z)
  18. }