Maison >développement back-end >Golang >Comment récupérer efficacement les valeurs de cartes profondément imbriquées dans Go ?
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.
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", }, }
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 } }
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!