Я новичок в GO
от Google. В буферизованных каналах вот программа:
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
не заполнится в первом выражении. ?