Go管道range原理
for v:=range ch{
Do(...)
}
等价于:
for {
if v,ok:=<-ch;!ok{
break
}else{
Do(...)
}
}
range会自动遍历管道,管道为空且没有close就会一直阻塞。当数据全部读出且管道关闭后,<-ch返回0,false 会自动结束循环
for v:=range ch{
Do(...)
}
等价于:
for {
if v,ok:=<-ch;!ok{
break
}else{
Do(...)
}
}
range会自动遍历管道,管道为空且没有close就会一直阻塞。当数据全部读出且管道关闭后,<-ch返回0,false 会自动结束循环