channel的循环

king54346 · · 1386 次点击
对,你说得这些基础知识完全正确
#5
更多评论
看看这样能不能实现你的想法,这是单向通道的东西 ```go func test1(ch chan<- int) { for i := 1; i <= 5; i++ { ch <- i } close(ch) } func test2(ch chan<- int, ch1 <-chan int) { for v := range ch1 { ch <- v } close(ch) } func test3(ch <-chan int) { for v := range ch { fmt.Println(v) } } func main() { ch1 := make(chan int) ch2 := make(chan int) go test1(ch1) go test2(ch2, ch1) test3(ch2) } ```
#1
channel的读取必须成对出现
#2