package main
import "fmt"
func main() {
ch := make(chan int, 2)
ch <- 1
ch <- 2
close(ch)
for i := 0; i < cap(ch)+1; i++ {
// 从已关闭的通道中获取数据,去除的数据放在data变量,类型是int, ok 变量的结果表示数据是否获取成功。
data, ok := <-ch
fmt.Println(data, ok)
}
}
/*
1 true
2 true
0 false
从已经关闭的通道接收数据,将会接收到通道类型的零值,然后停止阻塞并返回
*/
浙公网安备 33010602011771号