Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
TCP ソケットと 2 つのゴルーチンがストリームの読み取りと書き込みを行っています。チャネルからデータを読み取るゴルーチンを作成しています。TCP 接続が切断されると、go ルーチンからの読み取りがエラーを検出して停止します。
しかし、ゴルーチンの書き込みがあるチャネルを解放するにはどうすればよいでしょうか?
chan.release()ゴルーチンに終了を指示する特別なパケットを投稿する必要がありますか?
chan.release()
close(ch)チャネルを閉じます。
close(ch)
チャネルにまたがっている場合、チャネルが閉じられると for ループが終了します。 val, ok := <-ch閉じたチャネルを確認できます。ok はブール値で、ch が閉じている場合は false、ch が開いている場合は true になります。
val, ok := <-ch