r:=make(chanint)forn:=0;n
golang channel 怎么判斷是否讀取完成?求解答!
收到一只叮咚
2019-10-16 16:44:48
TA貢獻1725條經驗 獲得超8個贊
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貢獻1802條經驗 獲得超5個贊
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)}}
舉報