请完成协程和管道协同工作的案例,具体要求:
1、开启一个writeData协程,向管道中写入50个整数
2、开启一个readData协程,从管道中读取writeData写入的数据
3、注意:writeData和readDate操作的是同一个管道
4、主线程需要等待writeData和readDate协程都完成工作才退出
package mainimport ("fmt""sync"
)var wg sync.WaitGroup //只定义,无需赋值func main() {//wg.Add(5) //可以在最开始知道协程次数的情况下先Add操作,注意:Add中加入的数字和协程的次数一定要保持一致,否则会出错//启动5个协程for i := 1; i <= 5; i++ {wg.Add(1) //协程开始的时候加1操作go func(n int) {defer wg.Done() //协程完成的时候减1操作(如果忘记计数器减1操作,就结合defer关键字使用)fmt.Println(n)}(i)}wg.Wait() //主线程一直在阻塞,什么时候wg减为0了,就停止阻塞
}