Maison >développement back-end >Golang >Comment accéder en toute sécurité aux valeurs à partir d'une `map[string]interface{}` dans Go ?

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

DDD
DDDoriginal
2024-11-16 07:51:031009parcourir

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)

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

id := res["strID"].(string)

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
}

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!

Déclaration:
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