Bases de Go

Go Maps

Store values under keys: add, read, check, delete and loop in a fixed order.

  • Débutant
  • 3 min de lecture
  • 1 exemple exécutable
Ce que vous allez apprendre
  • Creating and updating
  • The value, ok form
  • Sorting the keys
stock
"apple"5
"pear"5
"plum"1

Values found by key

A map stores values under keys, so you can find a value quickly by its key. It is Go's version of a dictionary or hash table.

Reading a missing key returns the zero value, so the second result, found, tells you whether the key exists. delete removes a key. A map has no fixed order, so the keys are collected and sorted before printing.

Points clés

  1. A missing key reads as the zero value.
  2. value, found := m[key] tells you if it exists.
  3. Map order is random: sort the keys.

Exemple Go exécutable

Go
Exécuter le code →
main.go
package main

import (
	"fmt"
	"sort"
)

func main() {
	stock := map[string]int{"apple": 3, "pear": 5}
	stock["plum"] = 1
	stock["apple"] += 2

	fmt.Println(stock["apple"], len(stock))

	count, found := stock["kiwi"]
	fmt.Println(count, found)

	delete(stock, "pear")

	names := make([]string, 0, len(stock))
	for name := range stock {
		names = append(names, name)
	}
	sort.Strings(names) // map order is random, so sort the keys
	for _, name := range names {
		fmt.Println(name, stock[name])
	}
}
Obtenir un bouton Run pour cet exemple Résultat de l'exécution
5 3
0 false
apple 5
plum 1

S'entraîner

Ouvrez l'exemple dans le compilateur en ligne, modifiez une valeur ou ajoutez une ligne, et devinez la sortie avant de l'exécuter. Cassez ensuite le code exprès et lisez le message du compilateur.

Leçon terminée ?

Marquez-la comme apprise pour suivre votre progression.

S'entraîner avec un défi

Utilisez le contenu de cette leçon pour résoudre un vrai problème. Chaque défi s'exécute dans le navigateur, avec des tests instantanés et une revue par l'IA.

Tous les défis