Heim > Backend-Entwicklung > Golang > Ist es möglich, Runentypen durch Reflexion in Golang zu identifizieren?

Ist es möglich, Runentypen durch Reflexion in Golang zu identifizieren?

WBOY
Freigeben: 2024-02-09 09:48:19
nach vorne
722 Leute haben es durchsucht

Ist es möglich, Runentypen durch Reflexion in Golang zu identifizieren?

Ist es möglich, Runentypen durch Reflexion in Golang zu identifizieren? Dies ist ein häufiges Problem, auf das viele Entwickler bei der Verwendung von Golang stoßen. In Golang ist Reflection ein leistungsstarkes Tool, mit dem Typinformationen zur Laufzeit dynamisch angezeigt und geändert werden können. Bei Runentypen unterstützt der Reflexionsmechanismus von Golang dies jedoch nicht direkt. Der Runentyp ist ein spezieller Typ, der zur Darstellung von Werten unbekannter Typen verwendet wird. Daher können Runentypen mit herkömmlichen Reflexionsmethoden nicht identifiziert werden. Es gibt jedoch ein paar Tricks und Konventionen, mit denen sich das Verhalten von Runentypen simulieren lässt, um einen ähnlichen Effekt zu erzielen.

Frageninhalt

Wenn ich in go reflect.typeof(r) 时,其中 r ausführe, was eine Runenvariable ist, erhalte ich den Typ int32. Wenn ich switch eingebe, kann ich nicht zwischen int32 und rune unterscheiden. In der Dokumentation steht:

65bccaeeddd7

Bevor ich gebe, wollte ich hier nur fragen: Gibt es eine Möglichkeit, durch Reflektion in go zwischen rune und int32 zu unterscheiden?

Problemumgehung

Alias Binden Sie einen Bezeichner an einen Typ. Bezeichner rune 指的是与 int32 gleicher Typ.

Bezeichner, die zur Referenzierung von Typen im Quellcode verwendet werden, sind zur Laufzeit nicht über Reflection oder eine andere API verfügbar.

Das obige ist der detaillierte Inhalt vonIst es möglich, Runentypen durch Reflexion in Golang zu identifizieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:stackoverflow.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage