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.
Um den Reflect.Type einer Schnittstelle zu erhalten, verwenden Sie einen der folgenden Ansätze:
Verwenden von Elem() Methode:
var err error t := reflect.TypeOf(&err).Elem()
In einer Zeile:
t := reflect.TypeOf((*error)(nil)).Elem()
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!