package main import ( "fmt" "time" ) func main() { ch := make(chan int) quit := make(chan bool) go func() { for true { select { case num := <- ch: fmt.Println("num = ", num) case <-time.After(3*time.Second): quit<-true } } }() for i:=0; i<9; i++ { ch<-i time.Sleep(time.Second) } <-quit fmt.Println("程序结束") }
打印的结果
num = 0 num = 1 num = 2 num = 3 num = 4 num = 5 num = 6 num = 7 num = 8 程序结束