//计数器
var w sync.WaitGroup
func Xiecheng(c *gin.Context) {
//是一个有限长队列 超过10个就会报错
ch := make(chan int, 10)
for i := 0; i < 10; i++ {
//计数器 减一
w.Add(1)
//协程
go getAdd(i, ch)
}
w.Wait() //所有协程执行完了,数据都写入了
//关闭通道
close(ch)
for v := range ch {
fmt.Println(v)
}
}
func getAdd(i int, ch chan int) {
//存入数据
ch <- i
w.Done()
}