Guide sur les maps en Go : Votre guide sympathique pour le paradis des paires clé-valeur

Salut à toi, futur-e programmeur-se Go ! Je suis ravi-e de vous accompagner dans cette fascinante aventure à la découverte des maps en Go. En tant que quelqu'un qui enseigne la programmation depuis des années, je peux vous dire que les maps sont comme les couteaux suisses des structures de données - incroyablement polyvalentes et pratiques. Alors, mettons-nous à l'eau et libérons ensemble la puissance des maps !

Go - Maps

Quelles sont les maps en Go ?

Avant de commencer à coder, comprenons ce qu'elles sont. Imaginez que vous organiser un anniversaire et que vous avez une liste d'amis et leurs saveurs de gâteaux préférées. Vous pourriez utiliser deux listes distinctes - une pour les noms et une pour les saveurs - mais ne serait-ce pas génial de pouvoir lier directement chaque nom à une saveur ? C'est exactement ce que font les maps en Go !

Une map en Go est une collection de paires clé-valeur. C'est comme un dictionnaire où vous pouvez chercher un mot (la clé) et obtenir sa définition (la valeur). Dans notre analogie de l'anniversaire, le nom de l'ami serait la clé, et leur saveur de gâteau préférée serait la valeur.

Définir une map

Maintenant, voyons comment créer des maps en Go. Il y a quelques façons de le faire, et je vais vous montrer les deux :

Méthode 1 : Utiliser make()

friendsCake := make(map[string]string)

Sur cette ligne, nous créons une map appelée friendsCake. La partie [string] signifie que nos clés seront des chaînes (noms d'amis), et la deuxième string signifie que nos valeurs seront également des chaînes (saveurs de gâteaux).

Méthode 2 : Map littérale

friendsCake := map[string]string{
"Alice": "Chocolate",
"Bob":   "Vanilla",
"Carol": "Strawberry",
}

Ici, nous créons et initialisons la map en une seule fois. C'est comme configurer notre liste d'invités et leurs préférences de gâteaux d'un coup !

Travailler avec des maps : Un exemple délicieux

Reprenons notre plan d'anniversaire et voyons les maps en action :

package main

import "fmt"

func main() {
// Initialiser notre map
friendsCake := map[string]string{
"Alice": "Chocolate",
"Bob":   "Vanilla",
"Carol": "Strawberry",
}

// Afficher toute la map
fmt.Println("Plan initial de la fête :", friendsCake)

// Ajouter un nouvel ami
friendsCake["David"] = "Red Velvet"
fmt.Println("Après avoir ajouté David :", friendsCake)

// Vérifier si un ami vient
flavor, exists := friendsCake["Eve"]
if exists {
fmt.Println("La saveur préférée d'Eve :", flavor)
} else {
fmt.Println("Eve ne vient pas à la fête")
}

// Changer la préférence de Bob
friendsCake["Bob"] = "Lemon"
fmt.Println("Après que Bob a changé d'avis :", friendsCake)

// Afficher la saveur préférée d'Alice
fmt.Println("La saveur préférée d'Alice :", friendsCake["Alice"])
}

Reprenons cela :

  1. Nous commençons par créer notre map avec des valeurs initiales.
  2. Nous pouvons afficher toute la map pour voir tous nos amis et leurs préférences.
  3. Ajouter un nouvel ami est aussi simple que d'assigner une valeur à une nouvelle clé.
  4. Nous pouvons vérifier si une clé existe dans la map. Cela est utile pour voir si un ami est sur notre liste d'invités.
  5. Changer une valeur est comme ajouter une nouvelle - nous assignons une nouvelle valeur à une clé existante.
  6. Nous pouvons accéder à des valeurs individuelles en utilisant leurs clés.

Lorsque vous exécutez ce code, vous verrez comment notre plan de fête évolue au fur et à mesure que nous faisons des changements !

La fonction delete() : quand quelqu'un ne peut pas venir

Parfois, les plans changent. Que se passe-t-il si Carol ne peut pas venir à la fête ? Nous pouvons utiliser la fonction delete() pour la retirer de notre map :

delete(friendsCake, "Carol")
fmt.Println("Après l'annulation de Carol :", friendsCake)

Cette ligne retire Carol et sa préférence de gâteau de notre map. C'est aussi simple que cela !

Méthodes utiles pour les maps

Voici un tableau pratique des opérations courantes sur les maps en Go :

Opération Syntaxe Description
Créer make(map[keyType]valueType) Crée une nouvelle map
Ajouter/Mettre à jour mapName[key] = value Ajoute une nouvelle paire clé-valeur ou met à jour une existante
Supprimer delete(mapName, key) Supprime une paire clé-valeur de la map
Vérifier l'existence value, exists := mapName[key] Vérifie si une clé existe dans la map
Obtenir une valeur value := mapName[key] Récupère la valeur pour une clé donnée
Longueur len(mapName) Retourne le nombre de paires clé-valeur dans la map

Conclusion : Les maps sont vos nouveaux meilleurs amis !

Et voilà, les ami-e-s ! Nous avons fait le voyage à travers le pays des maps en Go, de leur création à l'ajout, la mise à jour et la suppression d'éléments. Les maps sont incroyablement utiles dans des scénarios de programmation réels, de la gestion des données des utilisateurs à la création de tables de lookup efficaces.

N'oubliez pas, la pratique rend parfait. Essayez de créer vos propres maps pour différents scénarios - peut-être une liste de courses avec des noms d'articles et des prix, ou un planning avec des jours et des activités. Plus vous jouerez avec les maps, plus vous deviendrez à l'aise avec elles.

Bonne programmation, et puissent vos maps vous mener toujours vers des aventures de programmation passionnantes !

Credits: Image by storyset