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 从已经关闭的通道接收数据,将会接收到通道类型的零值,然后停止阻塞并返回 */