Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich Werte sicher von einer Go-Map abrufen?

Wie kann ich Werte sicher von einer Go-Map abrufen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-12 01:27:02692Durchsuche

How to Safely Retrieve Values from a Go Map?

Werte von einer Go-Karte abrufen

Bei der Arbeit mit Go-Karten ist es häufig erforderlich, bestimmte Werte basierend auf den bereitgestellten Schlüsseln abzurufen. Karten in Go werden als „map[string]interface{}“ dargestellt, wobei Schlüssel Zeichenfolgen sind und Werte unterschiedlichen Typs sein können.

Um einen Wert aus einer Karte abzurufen, können Sie die folgende Syntax verwenden:

mvVar := myMap[key].(VariableType)

Um beispielsweise den Wert des „strID“-Schlüssels als Zeichenfolge zu erhalten, können Sie Folgendes tun:

id := res["strID"].(string)

Allerdings, wenn die Karte Wenn der Schlüssel nicht vorhanden ist oder die Typzusicherung fehlschlägt, kommt es zu einer Panik. Um dies zu vermeiden, können Sie einen sichereren Ansatz verwenden:

var id string
var ok bool
if x, found := res["strID"]; found {
  if id, ok = x.(string); !ok {
    // Handle type conversion error
  }
} else {
  // Handle key not found error
}

Dieser Ansatz prüft, ob der Schlüssel vorhanden ist, und stellt sicher, dass die Typzusicherung erfolgreich ist, bevor der Variable der Wert zugewiesen wird.

Denken Sie daran Ausführlichere Informationen finden Sie in der Go-Dokumentation zu Karten und Typzusicherungen unter den folgenden Links:

  • Karten: http://golang.org/doc/efficient_go.html#maps
  • Typzusicherungen und Schnittstellenkonvertierungen: http://golang.org/doc/efficient_go.html#interface_conversions

Das obige ist der detaillierte Inhalt vonWie kann ich Werte sicher von einer Go-Map abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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