„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich die Typbehauptung durchführen.

Wie kann ich die Typbehauptung durchführen.

Gepostet am 2025-03-23
Durchsuche:104

How Can I Perform Type Assertion on a Go `reflect.TypeOf()` Result?

typern Sie die Behauptung mit Reflect.typeof () in Go

In GO können Sie bei der Arbeit mit Schnittstellen erforderlich sein, um die Typ -Aufklärung auszuführen, um den zugrunde liegenden konkreten Typ zu erhalten. Es stellt sich die Frage, wie ein Typ (zurückgegeben von reflect.typeof ()) an einen bestimmten Typ für die Behauptung zurückgegeben wird. var itsel item interface {} Schaltername { Standard: item = article {} } Artikel zurückgeben }

Hier wollen wir eine Struktur (Artikel) basierend auf einem Zeichenfolgennamen identifizieren. Geben Sie jedoch eine Behauptung ein, erfordert jedoch einen Typ, aber reflect.typeof () gibt einen Typ zurück.

Lösung:

func IdentifyItemType(name string) interface{} {
    var item interface{}
    switch name {
    default:
        item = Article{}
    }
    return item
}

{Typ) {{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{&&]) {& aveal. Fall int: Dosen etwas () }

Um die Art von Attributen in einer Schnittstelle einzuschalten, kann Reflexion verwendet werden: s: = reflect.valueof (x) für i: = 0; i

Dies erlaubt das Wechsel von Typen in den Attributen der Schnittstelle. Obwohl es keine elegante Lösung bietet, bietet es Funktionalität, bis eine bessere Alternative entdeckt wird.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3