ジェネリック プログラミングを使用すると、さまざまな種類のデータを処理できるコードを作成できます。 Go では、これは型パラメータを通じて実現されます。ジェネリックスの一般的な使用例の 1 つは、型が実装する必要がある一連のメソッドを定義するインターフェイスでの使用です。
イテレータ インターフェイスなどのジェネリック インターフェイスを作成しようとすると、関数またはメソッドの型パラメータ。ジェネリック インターフェイスを定義するには、インターフェイス内の個々のメソッドではなく、インターフェイスの型自体で type パラメーターを指定する必要があります。
ジェネリック イテレータ インターフェイスの正しい実装の例を次に示します:
type Iterator[T any] interface { ForEachRemaining(action func(T) error) error // other methods }
インターフェイス本体内では、T 型パラメータをメソッド内の他の型パラメータとして使用できます。
詳細は次のとおりです。内訳:
type MyIterator[T any] struct { // Implementation details } func (it *MyIterator[T]) ForEachRemaining(action func(T) error) error { // Implementation details }
インターフェイス タイプに type パラメーターを指定し、それをインターフェイス メソッド内で使用することにより、さまざまな種類のデータを処理できる汎用インターフェイスを作成し、柔軟な基盤を提供できます。 Go で堅牢で再利用可能なコードを構築するためのものです。
以上がGo でジェネリック インターフェイスを正しく定義するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。