请高手来回答通道的问题?

mike51 · · 2110 次点击
package main import ( "fmt" "math/rand" ) func test(ch chan int) { ch <- rand.Int() //向channel中写入一个64位的随机数 close(ch) } func main() { chs := make([]chan int, 10) //直接创建10个的int类型通道的切片 for i := 0; i < 10; i++ { chs[i] = make(chan int) go test(chs[i]) } for _, ch := range chs { value := <-ch //阻塞等待退出信号 fmt.Println(value) } }
#5
更多评论
for i := 0; i < 10; i++ { chs[i] = make(chan int) go test(chs[i]) } 加上一句代码
#1
你要搞清楚。第一次运行 通道都给关闭了。肯定死了。
#2