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

golang channel 怎么判断是否读取完成?求老司机指点!

golang channel 怎么判断是否读取完成?求老司机指点!

偶然的你 2019-10-08 10:31:44
r:=make(chanint)forn:=0;n
查看完整描述

2 回答

?
POPMUISE

TA贡献1765条经验 获得超5个赞

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-08
?
杨__羊羊

TA贡献1943条经验 获得超7个赞

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-08
  • 2 回答
  • 0 关注
  • 481 浏览
慕课专栏
更多

添加回答

举报

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