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

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

WBOY
リリース: 2024-02-06 08:20:04
転載
500 人が閲覧しました

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

質問内容

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

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

リーリー

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


正解


コード

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

リーリー

イラスト

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

リーリー

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

リーリー

2ページ引用しました

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

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

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

関連ラベル:
ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート