package main
import ( "fmt" )
func main() {
ch := make(chan int,0)
go func() {
for i:=0;i<10;i++{
fmt.Println("子协程:",i)
ch <- i
}
}()
for i:=0; i<10;i++ {
num :=<-ch
fmt.Println("num=",num)
}
}
//输出为:
子协程: 0 子协程: 1 num= 0 num= 1 子协程: 2 子协程: 3 num= 2 num= 3 子协程: 4 子协程: 5 num= 4 num= 5 子协程: 6 子协程: 7 num= 6 num= 7 子协程: 8 子协程: 9 num= 8 num= 9
我认为的结果: 子协程: 0 num= 0 子协程: 1 num= 1 子协程: 2 num= 2 略······
无缓存的,发送和接收不应该是同时吗,但为啥,无缓存的,还能一口气接受2个呢?