大家来解惑--这段代码有啥问题?

javasgl · · 2876 次点击
如果等待操作被放在了main goroutine中,在循环之前,这样的话就永远都不会结束了,如果在循环之后,那么又变成了不可达的部分,因为没有任何东西去关闭这个channel,这个循环就永远都不会终止。 找到了,文中有说明,为何要这样写
#21
更多评论
polaris
社区,需要你我一同完善!
问题的关键在于 main goroutine 提前退出了。 不论是那种代码,最好在 main 函数最后等待所有 goroutine 执行完成,方法很多了,可以 Sleep,可以 sync.WaitGroup 等等。
#1
但是我只仅仅调换了下 sleep 和 print 语句的先后顺序,就能打印到 99 了。
#2