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
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)
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!