Maison > développement back-end > Golang > Comment récupérer en toute sécurité les valeurs des cartes `map[string]interface{}` imbriquées dans Go ?

Comment récupérer en toute sécurité les valeurs des cartes `map[string]interface{}` imbriquées dans Go ?

Linda Hamilton
Libérer: 2024-12-15 17:27:17
original
180 Les gens l'ont consulté

How to Safely Retrieve Values from Nested `map[string]interface{}` Maps in Go?

Obtention de valeurs à partir de cartes imbriquées de type map[string]interface{}

Dans Go, les cartes constituent une structure de données puissante qui permet stockage flexible de valeurs-clés. Lorsque vous travaillez avec des cartes imbriquées, il peut devenir difficile de récupérer des valeurs à des niveaux plus profonds. Cette question explore un scénario courant dans lequel l'objectif est d'extraire des valeurs d'une carte imbriquée de type map[string]interface{}.

L'exemple de code fourni démontre une structure de carte imbriquée contenant diverses paires clé-valeur. Le but est de récupérer les valeurs des cartes imbriquées, notamment de l'autre champ. Voici comment y parvenir :

Pour accéder et manipuler les valeurs des cartes imbriquées, il est nécessaire d'utiliser un casting non panique. La conversion non panique implique de vérifier le type sous-jacent d’une valeur avant de tenter de la convertir. La syntaxe pour le casting non panique est , ok := .().

Dans la solution, nous parcourons la carte de niveau supérieur (m) et vérifions si la valeur associée à chaque clé est de type map[string]interface{}. Si la vérification de type réussit (indiqué par ok étant vrai), nous avons identifié avec succès une carte imbriquée.

Une fois que nous savons que nous avons une carte imbriquée, nous pouvons accéder à ses valeurs en convertissant la valeur d'origine à la valeur souhaitée. taper. Par exemple, pour accéder à la valeur de la clé de valeur dans la carte Google imbriquée, nous écririons :

valueMap := nestedMap["google"].(map[string]interface{})
value := valueMap["value"].(string)
Copier après la connexion

En suivant ces étapes, vous pouvez récupérer efficacement les valeurs des cartes imbriquées de type map[string]interface {} dans Go. Reportez-vous à la documentation pour plus de détails sur les assertions de type : https://golang.org/ref/spec#Type_assertions

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