results := make(chan *Result)//創(chuàng)建一個通道,用于通知所有線程結(jié)束
//構(gòu)造一個waitGroup 線程組,以便處理所有的數(shù)據(jù)源
var waitGroup sync.WaitGroup
//設置需要等待處理
//每個數(shù)據(jù)源的goroutine的數(shù)量
waitGroup.add(len(循環(huán)的數(shù)組))
go func(){
? ? xxxxxxxxxxxxxx
? ? waitGroup.Done()//表示完成 waitGroup數(shù)據(jù) -1
}
//啟動一個goroutine來監(jiān)控是否所有工作完成
go func(){
? ? //等待所有任務完成
????waitGroup.Wait()
? ? close(results)
}()
//display函數(shù)打印遞歸值
Display(results)