Maison > développement back-end > Golang > Comment récupérer efficacement les valeurs de cartes profondément imbriquées dans Go ?

Comment récupérer efficacement les valeurs de cartes profondément imbriquées dans Go ?

Patricia Arquette
Libérer: 2024-12-21 01:12:11
original
700 Les gens l'ont consulté

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

Récupération de valeurs à partir de cartes imbriquées

Dans Go, naviguer et récupérer des valeurs à partir de cartes profondément imbriquées peut être un défi. Cette question montre comment accomplir efficacement cette tâche.

Question

Comment puis-je accéder et récupérer les valeurs d'une carte imbriquée avec une structure comme celle-ci :

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",
    },
}
Copier après la connexion

Réponse

Pour récupérer les valeurs des cartes imbriquées, vous pouvez utiliser la technique de diffusion non-panique, qui implique les éléments suivants étapes :

for i := range m {
    nestedMap, ok := m[i].(map[string]interface{})
    if ok {
        // Do what you want
    }
}
Copier après la connexion

Dans l'exemple fourni, le code parcourt les touches de niveau supérieur de la carte m. Pour chaque clé, il tente de convertir la valeur correspondante en map[string]interface{}, en vérifiant si l'assertion de type réussit à l'aide de l'indicateur booléen ok. Si l'assertion de type réussit, vous pouvez alors accéder et manipuler la carte imbriquée selon vos besoins.

Pour plus de détails sur les assertions de type dans Go, reportez-vous à la documentation officielle sur https://golang.org/ref/ spec#Type_assertions. Cette approche vous permet de naviguer et de récupérer les valeurs des cartes imbriquées de manière pratique et sans erreur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal