r:=make(chanint)forn:=0;n
萌新!golang channel 怎么判斷是否讀取完成?
肥皂起泡泡
2019-10-25 22:47:02
TA貢獻1794條經驗 獲得超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貢獻1828條經驗 獲得超6個贊
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)}}
舉報