誰かが説明することができます。チャンネルがバッファされると、プログラムはfatal_errorで終了しません。バッファされた/バッファされていないチャンネル
バッファなしチャネル
package main
func main() {
c := make(chan int)
c <- 3
}
fatal error: all goroutines are asleep - deadlock!
バッファチャンネル
package main
func main() {
c := make(chan int, 1)
c <- 3
}
[no output]
Program exited.
ありがとうございます!
私は思いますこれはバッファされたチャネルとバッファされていないチャネルの違いによるものです。バッファリングされたチャネルでは、送信側は受信側(この場合は受信側)がデータを取得するまで待機します。しかし、私は確信していません.. –
[make(chan bool、1)とはどのように動作しますか?](http://stackoverflow.com/questions/20041392/how-does-makechan -bool-behave-differently-from-makechan-bool-1) – Matt