package main import "fmt" func main() { c := make(chan int) go func() { for i := 0; i < 5; i++ { c <- i } // close可以关闭一个channel close(c) }() for { // 如果ok为true表示channel没有关闭,如果ok为false表示channel已经关闭 if data, ok := <-c; ok { fmt.Println(data) } else { fmt.Println("channel c 已被关闭") break } } fmt.Println("Main finished ...") }