********************************************************
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个呢?
有疑问加站长微信联系(非本文作者)