go 代码无法理解,望大神指点一下

lmh860628 · · 900 次点击
应该就是像楼上说的直接返回了管道,然后管道阻塞等待协程一个个写入管道,值通过串联起来的管道传输到main。 for range在管道未关闭的时候是阻塞的这个没错,阻塞的是协程主线程到了main的for才停住等待。
#6
更多评论
for range 管道的时候,没有值会一直等待着
#1
<a href="/user/songlq" title="@songlq">@songlq</a> 如果没有值一直等待那样就出现死锁了,这个代码是可以正常执行的。不理解的地方就是在协程里面return 这个&lt;-chan int ,然后执行代码又跳到已经return的函数里面去执行。
#2