Heim > Backend-Entwicklung > Golang > Wie kann ich in Go effizient Werte aus tief verschachtelten Karten abrufen?

Wie kann ich in Go effizient Werte aus tief verschachtelten Karten abrufen?

Patricia Arquette
Freigeben: 2024-12-21 01:12:11
Original
709 Leute haben es durchsucht

How to Efficiently Retrieve Values from Deeply Nested Maps in Go?

Werte aus verschachtelten Karten abrufen

In Go kann das Navigieren und Abrufen von Werten aus tief verschachtelten Karten eine Herausforderung sein. Diese Frage zeigt, wie diese Aufgabe effektiv gelöst werden kann.

Frage

Wie kann ich auf Werte aus einer verschachtelten Karte mit einer Struktur wie dieser zugreifen und diese abrufen:

m := map[string]interface{}{
    "date":       "created",
    "clientName": "data.user.name",
    "address": map[string]interface{}{
        "street": "x.address",
    },
    "other": map[string]interface{}{
        "google": map[string]interface{}{
            "value": map[string]interface{}{
                "x": "y.address",
            },
        },
    },
    "new_address": map[string]interface{}{
        "address": "z.address",
    },
}
Nach dem Login kopieren

Antwort

Um Werte aus verschachtelten Karten abzurufen, können Sie die Technik des Nonpanic Casting anwenden, die Folgendes umfasst Schritte:

for i := range m {
    nestedMap, ok := m[i].(map[string]interface{})
    if ok {
        // Do what you want
    }
}
Nach dem Login kopieren

Im bereitgestellten Beispiel iteriert der Code über die Schlüssel der obersten Ebene der Karte m. Für jeden Schlüssel wird versucht, den entsprechenden Wert in eine Map[string]interface{} umzuwandeln, wobei mithilfe des booleschen Flags ok überprüft wird, ob die Typzusicherung erfolgreich ist. Wenn die Typzusicherung erfolgreich ist, können Sie bei Bedarf auf die verschachtelte Karte zugreifen und diese bearbeiten.

Weitere Details zu Typzusicherungen in Go finden Sie in der offiziellen Dokumentation unter https://golang.org/ref/ spec#Type_assertions. Mit diesem Ansatz können Sie bequem und fehlerfrei navigieren und Werte aus verschachtelten Karten abrufen.

Das obige ist der detaillierte Inhalt vonWie kann ich in Go effizient Werte aus tief verschachtelten Karten abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage