Golang Vérifiez si la clé dans la carte

Golang Vérifiez si la clé dans la carte
Une carte fait référence à une collection non ordonnée de paires de valeurs clés. Dans d'autres langages de programmation, les cartes sont mentionnées avec des noms différents tels que des hachages, des dictionnaires, un tableau associatif ou une carte non ordonnée.

Quel que soit le nom, les cartes sont incroyablement polyvalentes et fournissent un moyen facile et rapide de récupérer, de mettre à jour ou de supprimer des données à l'aide des clés.

Dans ce tutoriel amical, vous apprendrez à vérifier si une clé existe sur une carte en utilisant le langage de programmation Go.

Les bases

Avant de vérifier si une carte est dans une clé, commençons par comment créer une carte dans Go.

Pour créer une carte en Go, utilisez l'exemple de syntaxe illustrée ci-dessous:

map [key_data_type] valeurs_data_type // crée une carte vide
map [key_data_type] value_data_type key_1: value_1,…, key_n: value_n // mappe avec des données

L'exemple ci-dessous crée une carte des chaînes:

my_map: = map [int] string
1: "Ubuntu",
2: "Debian"
3: "Fedora"
4: "OpenSUSE"
5: "Manjaro",

Récupérer les valeurs dans la carte

Nous devrons récupérer une valeur associée à une clé spécifique dans une carte dans la plupart des cas. Go nous fournit une méthode très simple pour accomplir cette tâche.

La syntaxe est comme indiqué:

map_name [clé]

Nous pouvons accéder à une valeur stockée dans une clé spécifique en appelant le nom de la carte et en passant la clé cible à l'intérieur d'une paire de crochets.

Un exemple est comme indiqué:

fmt.Println (my_map [4])

Ce qui précède doit récupérer la valeur dans le numéro de clé 4. La sortie résultante est comme indiqué:

$ go run check_if_key_exists.aller
Ouverte

Bien qu'il s'agisse d'une technique simple pour récupérer une valeur basée sur une clé, elle peut parfois confondre si une clé n'est pas sur une carte.

Que se passe-t-il lorsque vous essayez de récupérer une valeur pour une clé inexistante?

fmt.Println (my_map [0])
…> 0

Le code ci-dessus renvoie 0 car il n'y a pas de clé «0» ici.

Mais que se passe-t-il si vous aviez une clé tenant la valeur réelle «0»? Comment dire si la clé n'est pas là ou si la valeur est 0?

Vérifiez si la clé existe dans la carte

Par conséquent, il est prudent d'avoir un moyen de savoir si une clé est là ou si la valeur est juste 0. Nous pouvons utiliser la syntaxe comme indiqué:

_, trouvé: = map_name [key]

Le paramètre trouvé contient une valeur booléenne. Si la clé est dans la carte, le paramètre trouvé est vrai et faux.

Hmm, cool!

Nous pouvons utiliser cette fonctionnalité pour implémenter une instruction conditionnelle en fonction de la valeur de la variable trouvée.

Un exemple est comme indiqué:

func check_if_exists ()
États: = map [String] String
"CO": "Colorado",
"De": "Delaware",
"La": "Louisiane",
"Ma": "Massachusetts",
"VT": "Vermont",

si _, trouvé: = états ["ma"]; trouvé
fmt.Printf ("Found")
autre
fmt.Println ("non trouvé")

Dans l'exemple ci-dessus, nous utilisons une instruction IF pour vérifier si une clé se trouve dans la carte en utilisant le paramètre trouvé.

Le code résultant est comme indiqué:

$ go run check_if_key_exists.aller
Pas trouvé

Cette méthode fonctionnera efficacement même si la valeur de la clé spécifiée est égale à 0 ou vrai / false.

Conclusion

Dans cet article, vous avez appris à accéder aux valeurs dans une carte en utilisant la clé associée et à vérifier si une clé est sur une carte.

Merci pour la lecture et le mode de code heureux!