ホームページ  >  記事  >  バックエンド開発  >  Go でジェネリック型構造を使用したインターフェイス メソッドを実装する

Go でジェネリック型構造を使用したインターフェイス メソッドを実装する

WBOY
WBOY転載
2024-02-06 08:20:04428ブラウズ

在 Go 中使用泛型类型结构实现接口方法

質問内容

任意の型の引数を個々のメソッドに渡せるインターフェースが欲しい、そして、単一の実装構造を持つインターフェースが欲しいジェネリック。

これは私の問題を超単純化したものです:

リーリー

構造体を直接処理するときに Set メソッドの型情報を失わずにコンパイラの要件を満たす方法はありますか?


正解


コード

コードは次のように変更できると思います

リーリー

イラスト

パラメーター化された型を使用する場合は、その定義内の型パラメーターを実際の型に置き換える必要があります。これは、インターフェイス内のジェネリック型をインスタンス化する必要があることを意味します。このためには、インターフェイスを次のように宣言する必要があります。

リーリー

また、これを使用するときは、any がどの型を使用しているかを明確にする必要があります。

リーリー

2ページ引用しました

[1] Go エラー: インスタンス化されていない汎用型は使用できません

[2] ユニバーサル インターフェイスを実装するにはどうすればよいですか?

以上がGo でジェネリック型構造を使用したインターフェイス メソッドを実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。