Maison > développement back-end > Golang > Comment récupérer en toute sécurité les valeurs d'une Go Map ?

Comment récupérer en toute sécurité les valeurs d'une Go Map ?

Mary-Kate Olsen
Libérer: 2024-11-12 01:27:02
original
746 Les gens l'ont consulté

How to Safely Retrieve Values from a Go Map?

Récupération de valeurs d'une carte Go

Lorsque vous travaillez avec des cartes Go, il est souvent nécessaire de récupérer des valeurs spécifiques en fonction des clés fournies. Les cartes dans Go sont représentées par map[string]interface{}, où les clés sont des chaînes et les valeurs peuvent être de différents types.

Pour obtenir une valeur à partir d'une carte, vous pouvez utiliser la syntaxe suivante :

mvVar := myMap[key].(VariableType)
Copier après la connexion

Par exemple, pour obtenir la valeur de la clé "strID" sous forme de chaîne, vous pouvez faire ceci :

id := res["strID"].(string)
Copier après la connexion

Cependant, si la clé de mappage n'existe pas ou si l'assertion de type échoue, une panique se produira. Pour éviter cela, vous pouvez utiliser une approche plus sûre :

var id string
var ok bool
if x, found := res["strID"]; found {
  if id, ok = x.(string); !ok {
    // Handle type conversion error
  }
} else {
  // Handle key not found error
}
Copier après la connexion

Cette approche vérifie si la clé existe et garantit que l'assertion de type réussit avant d'attribuer la valeur à la variable.

N'oubliez pas , pour des informations plus détaillées, reportez-vous à la documentation de Go sur les cartes et tapez des assertions sur ces liens :

  • Maps : http://golang.org/doc/effective_go.html#maps
  • Assertions de type et conversions d'interface : http://golang.org/doc/effective_go.html#interface_conversions

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