3

postgres データベースと対話するためのドライバーを提供する github.com/lib/pq から Golang コードをいくつか読んでいます。

私がこれに出くわしたコードの中で:

go func() {
    select {
    case <-done:
        _ = cn.cancel()
        finished <- struct{}{}
    case <-finished:
    }
}()

キャンセル機能は次のようになります。

func (cn *conn) cancel() error

私が知る限り、アンダースコアは型に関する静的アサーションとして使用されていません (したがって、コンパイラは、私が見る限り (この例のように)副作用を評価しません)、そうではありません。 t 作成者がそれを破棄したい場合がある 2 番目のパラメーター。

要約すると、なぜキャンセル関数の結果 (エラー) をアンダースコアに割り当てるのでしょうか?

4

2 に答える 2