2021-07-29から1日間の記事一覧

Go: selectでctx.Done()を受信するときの注意点

go

Goで非同期的な処理の中断を検知したい場合、次のように select と ctx.Done() を使って書くことが多い。 とても便利なパターンなのだが、いくつか使うときの注意点がある。 select { case <-ctx.Done(): // done case <-ch: // ... } selectによる受信のラ…