这里通道关闭了,外层循环也终止了?
for循环里我加了打印序号,结果显示通道关闭以后,for循环也结束了。老师,这是什么原因啊?
package main
import "fmt"
func main() {
ch4 := make(chan int, 1)
for i := 0; i < 4; i++ {
fmt.Printf("序号:%d\n", i)
select {
case e, ok := <-ch4:
if !ok {
fmt.Println("End.")
return
}
fmt.Println(e)
close(ch4)
default:
fmt.Println("No Data!")
ch4 <- 1
}
}
}