我是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
滿了第一個語句。 ?