package main
import (
"fmt"
"time"
)
func read(ch1 <-chan int) { //定义只能读的channel
for {
fmt.Printf("read a int is %d\n", <-ch1)
}
}
func write(ch chan<- int) { //定义只能写的channel
for i := 0; i < 10; i++ {
ch <- i
}
close(ch) //如果 chan 不为 nil,chan 也没有 closed,就把等待队列中的 sender(writer)和 receiver(reader)从队列中全部移除并唤醒。
}
func main() {
ch1 := make(chan int)
go write(ch1)
go read(ch1)
time.Sleep(3 * time.Second)
}