Maison > développement back-end > Golang > le corps du texte

Comment accéder en toute sécurité aux valeurs à partir d'une `map[string]interface{}` dans Go ?

DDD
Libérer: 2024-11-16 07:51:03
original
950 Les gens l'ont consulté

How to Safely Access Values from a `map[string]interface{}` in Go?

Accès aux valeurs d'une carte dans Go

Lors de l'extraction de données d'une carte, la valeur souhaitée peut être obtenue en utilisant la clé de la carte comme indice. Cependant, lorsqu'il s'agit d'une variable qui stocke une carte de type map[string]interface {}, la clé sera une chaîne mais la valeur peut varier en type.

Pour accéder à une valeur d'une telle carte en toute sécurité :

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

Par exemple, pour récupérer une valeur de chaîne :

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

Il est important de noter que cette approche suppose que l'assertion de type est correcte. Pour garantir la sécurité :

var myValue VariableType
var ok bool
if x, found := myMap[key]; found {
    if myValue, ok = x.(VariableType); !ok {
        // Handle errors if the type assertion failed
    }
} else {
    // Handle errors if the key was not found
}
Copier après la connexion

Veuillez vous référer aux liens fournis pour plus d'informations :

  • Maps in Go : 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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal