count = 20
    chan = make(chan,20)

    for循环 i = 20
    go func()

    优雅的处理任务:https://zhuanlan.zhihu.com/p/419781721

    1. func TestAdd(t *testing.T) {
    2. wg := sync.WaitGroup{}
    3. c := make(chan int, 10)
    4. for i := 0; i < 5; i++ {
    5. wg.Add(1)
    6. go func() {
    7. defer wg.Done()
    8. for {
    9. v, ok := <- c
    10. if !ok {
    11. return
    12. }
    13. fmt.Println(v)
    14. }
    15. }()
    16. }
    17. for i := 0; i < 20; i++ {
    18. c <- i
    19. }
    20. close(c)
    21. wg.Wait()
    22. }