Heim > Backend-Entwicklung > Golang > Wie kann ich den Reflect.Type einer Schnittstelle in Go abrufen?

Wie kann ich den Reflect.Type einer Schnittstelle in Go abrufen?

Susan Sarandon
Freigeben: 2024-12-18 14:24:16
Original
578 Leute haben es durchsucht

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

Abrufen des Reflect.Type einer Schnittstelle

Problem:

Um festzustellen, ob ein bestimmter Typ eine Schnittstelle mithilfe des Reflect-Pakets implementiert, Ein Reflect.Type muss an Reflect.Type.Implements() übergeben werden. Allerdings kann es schwierig sein, einen solchen Typ zu erhalten, insbesondere für nicht initialisierte Schnittstellentypen.

Lösung:

Um den Reflect.Type einer Schnittstelle zu erhalten, verwenden Sie einen der folgenden Ansätze:

  1. Verwenden von Elem() Methode:

    var err error
    t := reflect.TypeOf(&err).Elem()
    Nach dem Login kopieren
  2. In einer Zeile:

    t := reflect.TypeOf((*error)(nil)).Elem()
    Nach dem Login kopieren

Bei beiden Methoden ist die Die Methode Elem() wird verwendet, um den tatsächlichen Typ der Schnittstelle abzurufen (*Fehler in diesem Fall) und den erforderlichen Reflect.Type für die weitere Verarbeitung bereitzustellen.

Das obige ist der detaillierte Inhalt vonWie kann ich den Reflect.Type einer Schnittstelle in Go abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage