package main import ( "fmt" "time" ) func main(){ //1.定义一个管道,10个数据int intChan :=make(chan int,10); for i:=0;i<10;i++{ intChan <- i; } //说明如果管道没有关闭,那么就会出现死锁 deadlock,所以一般情况下 //大家都会关闭管道,比如close(mychan),但是有时候我们不知道什么时候关闭 //那么久要使用select来解决 for { select { case v:= <- intChan: fmt.Printf("output data is %v ",v); time.Sleep(time.Second*1); default: fmt.Printf("管道里面没有数据了 "); return; } } }