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

golang channel 怎么判断是否读取完成?求解答!

golang channel 怎么判断是否读取完成?求解答!

收到一只叮咚 2019-10-16 16:44:48
r:=make(chanint)forn:=0;n
查看完整描述

2 回答

?
qq_遁去的一_1

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

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-16
?
慕后森

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

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

添加回答

举报

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