【Go】channel の状態と操作の対応
Go言語による並行処理 | Katherine Cox-Buday, 山口 能迪 |本 | 通販 | Amazon を読んで goroutine と channel ついて1から勉強してる。
すぐ忘れるので channel の状態と操作の対応を自分用にメモ。
操作 | 状態 | 結果 |
---|---|---|
read | nil | ブロック |
Open で空ではない | (値, true) | |
Open で空 | ブロック | |
Close | (デフォルト値, false) | |
書き込み専用 | コンパイルエラー | |
write | nil | ブロック |
Open で空ではない | 値を書き込む | |
Open で空 | ブロック | |
Close | panic 発生 | |
読み込み専用 | コンパイルエラー | |
close | nil | panic 発生 |
Open で空ではない | チャネルを閉じる。 読み込みはチャネルが空になるまでは成功する。 |
|
Open で空 | チャネルを閉じる。 | |
Close | panic 発生 | |
読み込み専用 | コンパイルエラー |