ホームページ > バックエンド開発 > Golang > Goでインターフェイスのreflect.Typeを取得するにはどうすればよいですか?

Goでインターフェイスのreflect.Typeを取得するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-18 14:24:16
オリジナル
585 人が閲覧しました

How Can I Get the reflect.Type of an Interface in Go?

インターフェイスの Reflect.Type の取得

問題:

特定の型が Reflect パッケージを使用してインターフェイスを実装しているかどうかを確認するには、 Reflect.Type は、reflect.Type.Implements() に渡す必要があります。ただし、そのような型を取得するのは、特に初期化されていないインターフェイス型の場合、困難な場合があります。

解決策:

インターフェイスのreflect.Typeを取得するには、次のいずれかの方法を使用します。

  1. Elem() の使用メソッド:

    var err error
    t := reflect.TypeOf(&err).Elem()
    ログイン後にコピー
  2. 1 行:

    t := reflect.TypeOf((*error)(nil)).Elem()
    ログイン後にコピー

両方のメソッドで、 Elem() メソッドは、インターフェイスの実際のタイプ (この場合はエラー) を取得するために使用され、必要なreflect.Type を提供します。さらなる処理のために。

以上がGoでインターフェイスのreflect.Typeを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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