r:=make(chanint)forn:=0;n
萌新求教!golang channel 怎么判斷是否讀取完成?
SMILET
2019-10-10 17:52:41
TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超6個(gè)贊
import"sync"funcmain(){rNum:=100000r:=make(chanint,rNum)varwgsync.WaitGroupforn:=0;nwg.Add(1) gofunc(xint,rchanint){deferwg.Done()ifx%3==0&&x%23==0{r<-x}}(n,r)}wg.Wait()close(r)fori:=ranger{println(i)}}
TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個(gè)贊
packagemainimport("sync")funcmain(){wait:=sync.WaitGroup{}r:=make(chanint)forn:=0;n<100000;n++{wait.Add(1)gofunc(xint,rchanint){deferwait.Done()ifx%3==0&&x%23==0{r<-x}}(n,r)}gofunc(){wait.Wait()close(r)}()fori:=ranger{println(i)}}
舉報(bào)