印刷しようとしたとき:
fmt.Println(c <-x)以下のコードブロックのforループの直前で、「c <-x」が何に評価されるかを確認すると、エラーメッセージが表示されます。
./select.go:7:ステートメントc<-xを値として使用します。非ブロッキング送信にはselectを使用します
送信操作が成功した場合、「c <-x」はtrueと評価されますか?また、Goでは、selectステートメント内のcaseステートメント内でsendステートメントの値(別名「c <-x」の値)のみを使用できるのはなぜですか?
func fibonacci(c, quit chan int) {
x, y := 1, 1
for {
select {
case c <- x:
x, y = y, x + y
case <-quit:
fmt.Println("quit")
return
}
}
}
ありがとうございました