【发布时间】:2013-10-06 16:08:13
【问题描述】:
生产者用一些值填充通道并关闭它。 在消费者方面,我想将所有值相加并在最后离开循环。我的解决方案如下:
total := 0
for {
v, ok := <- ch
if !ok { break }
total += v
}
还有更优雅的方式吗?
【问题讨论】:
生产者用一些值填充通道并关闭它。 在消费者方面,我想将所有值相加并在最后离开循环。我的解决方案如下:
total := 0
for {
v, ok := <- ch
if !ok { break }
total += v
}
还有更优雅的方式吗?
【问题讨论】:
只要生产者关闭通道,for/range 循环就会起作用。
total := 0
for v := range ch {
total += v
}
【讨论】: