Heim > Backend-Entwicklung > Golang > Wie greife ich in Go sicher auf Werte von einer „map[string]interface{}' zu?

Wie greife ich in Go sicher auf Werte von einer „map[string]interface{}' zu?

DDD
Freigeben: 2024-11-16 07:51:03
Original
1005 Leute haben es durchsucht

How to Safely Access Values from a `map[string]interface{}` in Go?

Zugriff auf Werte aus einer Karte in Go

Beim Extrahieren von Daten aus einer Karte kann der gewünschte Wert mithilfe des Kartenschlüssels als Schlüssel erhalten werden Index. Wenn es sich jedoch um eine Variable handelt, die eine Karte vom Typ „map[string]interface {}“ speichert, ist der Schlüssel ein String, der Wert kann jedoch im Typ variieren.

Um sicher auf einen Wert aus einer solchen Karte zuzugreifen :

myValue := myMap[key].(VariableType)
Nach dem Login kopieren

Um beispielsweise einen Zeichenfolgenwert abzurufen:

id := res["strID"].(string)
Nach dem Login kopieren

Es ist wichtig zu beachten, dass dieser Ansatz davon ausgeht, dass die Typzusicherung korrekt ist. Um die Sicherheit zu gewährleisten:

var myValue VariableType
var ok bool
if x, found := myMap[key]; found {
    if myValue, ok = x.(VariableType); !ok {
        // Handle errors if the type assertion failed
    }
} else {
    // Handle errors if the key was not found
}
Nach dem Login kopieren

Weitere Informationen finden Sie unter den bereitgestellten Links:

  • Karten in Go: http://golang.org/doc/ Effective_go.html# Karten
  • Typzusicherungen und Schnittstellenkonvertierungen: http://golang.org/doc/ Effective_go.html#interface_conversions

Das obige ist der detaillierte Inhalt vonWie greife ich in Go sicher auf Werte von einer „map[string]interface{}' zu?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage