我想在一些goroutine之间分配一些负载。如果事先知道任务的数量,那么就很容易组织起来。例如,我可以用WaitGroup扇出。nTasks:=100nGoroutines:=10//itisimportantthatthischannelisnotbufferedch:=make(chan*Task)done:=make(chanbool)varwsync.WaitGroup//Feedthechanneluntildonegofunc(){fori:=0;i但是,在我的例子中,每个任务都会返回更多待完成的任务。举例来说,我们从抓取的网络中接收所有链接的爬虫。我最初的预感是有一个主