中級 › close of closed channel パニックの原因と直し方 › パターン3
close of closed channel パニックの原因と直し方
一度closeしたチャネルをもう一度closeしようとすると、実行時にパニックが発生します。
1 package main 2 3 func main() { 4 ch := make(chan bool) 5 close(ch) 6 __________ ^ 7 }
panic: close of closed channel
空欄を埋めて実行を通す
送信側と受信側の両方がcloseを呼ぶような設計は、2回目のcloseでパニックする典型的な原因です。
次の問題