DEV Community

Maxime Guilbert
Maxime Guilbert

Posted on

GoLang - Comment utiliser des maps

Quand on débute en Go et qu'on a déjà développé dans un autre langage, on peut être perturbé sur la déclaration des maps en Go.

Déclaration

Le type d'objet map n'existe pas en Go. Il existe par contre un mot clé map qui permet de créer un type d'objet basé sur les maps avec la structure suivante :

map[]

Exemples

map[string]string
Enter fullscreen mode Exit fullscreen mode

Par exemple, pour créer une map qui permettrait de lier une chaine de caractère en tant que clé avec un chiffre vous utiliseriez : map[string]int

Pour une map permettant de lier une rune avec un objet book, on aurait : map[rune]book

Détail sur le typage

Vis-à-vis de ce qui a été dit plus tôt, vu que le type d'objet map n'existe pas, les types d'objets créé à partir de map ne sont les même que si ils ont le même type de clé et d'objet.

map[rune]book != map[string]int
map[rune]book != map[string]book
map[rune]book != map[rune]int
map[rune]book == map[rune]book

Utilisation

m := map[string]string{}   // Déclarer une map

m["p"] = 3                 // Ajouter un nouvel élément dans la map
m["p"] = 4                 // Mise à jour d'un élément
fmt.Println(m)             // Afficher la map: "map[p:4]"

v := m["p"]                // Récupérer une valeur: v == 4
v = m["p2"]                // Valeur non trouvée: v == 0 (zero)

_, found := m["p"]         // found == true
_, found = m["p2"]         // found == false

if x, found := m["p"]; found {
    fmt.Println(x)
}                           // Affiche "4"

delete(m, "p")              // Supprimer un élément dans la map
Enter fullscreen mode Exit fullscreen mode

J'espère que cela vous aidera! 🍺

Top comments (0)