第4章并发编程channel.go这个代码,没有任何返回值?哪里有问题?
```go
package main
import "fmt"
func Count(ch chan int) {
ch <- 1
fmt.Println("Counting")
}
func main() {
chs := make([]chan int, 10)
for i := 0; i < 10; i++ {
chs[i] = make(chan int)
go Count(chs[i])
}
for _, ch := range(chs) {
<-ch
}
}
```
更多评论
不好意思 没仔细看
原来前面有fmt.Println("Counting")这句
你没有看到输出,是因为main函数在go Count(chs[i])执行之前就退出了,多调试几次,就会看到可能有数目不定的Counting打印出来
在程序末尾加一句 time.Sleep(1 * time.Second), 等待所有goroutine执行, 你就能看到10个Counting了
#2