为了账号安全,请及时绑定邮箱和手机立即绑定

萌新!golang channel 怎么判断是否读取完成?

萌新!golang channel 怎么判断是否读取完成?

肥皂起泡泡 2019-10-25 22:47:02
r:=make(chanint)forn:=0;n
查看完整描述

2 回答

?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

import"sync"
funcmain(){
rNum:=100000
r:=make(chanint,rNum)
varwgsync.WaitGroup
forn:=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)
}
}
                            
查看完整回答
反对 回复 2019-10-25
?
30秒到达战场

TA贡献1828条经验 获得超6个赞

packagemain
import(
"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)
}
}
                            
查看完整回答
反对 回复 2019-10-25
  • 2 回答
  • 0 关注
  • 763 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信