저는 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
대신 대기 무한대의 출력을 생성 않는 경우에만 보내라고한다. ?