postgres データベースと対話するためのドライバーを提供する github.com/lib/pq から Golang コードをいくつか読んでいます。
私がこれに出くわしたコードの中で:
go func() {
select {
case <-done:
_ = cn.cancel()
finished <- struct{}{}
case <-finished:
}
}()
キャンセル機能は次のようになります。
func (cn *conn) cancel() error
私が知る限り、アンダースコアは型に関する静的アサーションとして使用されていません (したがって、コンパイラは、私が見る限り (この例のように)副作用を評価しません)、そうではありません。 t 作成者がそれを破棄したい場合がある 2 番目のパラメーター。
要約すると、なぜキャンセル関数の結果 (エラー) をアンダースコアに割り当てるのでしょうか?