我是GO谷歌的新手。在缓冲通道中,这里有一个程序:
package main
import "fmt"
import "time"
func main() {
c := make(chan int, 2)
c <- 1
fmt.Println(<-c)
time.Sleep(1000 * time.Millisecond)
c <- 2
fmt.Println(<-c)
}
它产生输出。但根据http://tour.golang.org/#64它说:
仅当缓冲区已满时才发送到缓冲通道块。当缓冲区为空时接收块。
正如它所说,它只在FULL时发送,为什么程序会产生输出而不是c在第一条语句中等待无穷大。?
繁星淼淼
相关分类