Go Vérifier l'élément dans une carte


Exemple

Pour obtenir une valeur de la carte, il suffit de faire quelque chose comme: 00

value := mapName[ key ]

Si la carte contient la clé, elle renvoie la valeur correspondante.
Sinon, il renvoie la valeur zéro du type de valeur de la carte ( 0 si la carte des valeurs int , "" si la carte des valeurs de string ...)

m  := map[string]string{"foo": "foo_value", "bar": ""}
k  := m["foo"]  // returns "foo_value" since that is the value stored in the map
k2 := m["bar"]  // returns "" since that is the value stored in the map
k3 := m["nop"]  // returns "" since the key does not exist, and "" is the string type's zero value

Pour différencier les valeurs vides des clés inexistantes, vous pouvez utiliser la seconde valeur renvoyée de l’accès à la carte (en utilisant la value, hasKey := map["key"] like value, hasKey := map["key"] ).

Cette seconde valeur est boolean et sera:

  • true lorsque la valeur est dans la carte,
  • false lorsque la carte ne contient pas la clé donnée.

Regardez l'exemple suivant:

value, hasKey = m[ key ]
if hasKey {
    // the map contains the given key, so we can safely use the value
    // If value is zero-value, it's because the zero-value was pushed to the map
} else {
    // The map does not have the given key
    // the value will be the zero-value of the map's type
}