Goジェネリックにおける[0]func(T)の活用

Goのジェネリックライブラリでは、見た目上「空」な構造体に奇妙なフィールドを埋め込むことがある。それは長さ0の配列で、要素型は関数かつ型パラメータを持つ。これは単なるトリックではなく、コンパイラを使って誤使用を防ぐための技法である。 1. 実際のニーズから:プラグイン可能な「比較戦略」 例えば、スライスに対して重複除去や検索、比較を行うジェネリックツー ...

5月24日 14:35 投稿