Menu
CoddyTech

Itération sur les Maps

Fait partie de la section Fondamentaux du Journey GO de Coddy. Leçon 92 sur 109.

Le mot-clé range te permet de parcourir toutes les paires clé-valeur d’une map. Il renvoie à la fois la clé et la valeur de chaque entrée.

Crée une carte de l’inventaire des fruits :

inventory := map[string]int{
    "apples": 5,
    "bananas": 8,
    "oranges": 12,
}

for fruit, quantity := range inventory {
    fmt.Printf("%s: %d\n", fruit, quantity)
}

Le résultat affiche chaque paire clé-valeur :

apples: 5
bananas: 8
oranges: 12

Go ne garantit pas l’ordre dans lequel range parcourt les entrées de la map ; ces lignes peuvent donc s’afficher dans un ordre différent à chaque exécution de la boucle.

Si tu n’as besoin que des clés, tu peux omettre la deuxième variable :

for fruit := range inventory {
    fmt.Println(fruit)
}
challenge icon

Défi

Débutant

Dans ce défi, tu vas t’exercer à parcourir une map à l’aide du mot-clé range en Go. Une map contenant les notes des élèves a été créée pour toi. Ta tâche consiste à parcourir la map et à afficher le nom de chaque élève ainsi que sa note.

Complète le code pour parcourir la map studentGrades et afficher le nom de chaque élève et sa note au format : Student: [name], Grade: [grade]

Essayez vous-même

package main

import (
	"fmt"
	"sort"
)

func main() {
	// Une map des notes des étudiants
	studentGrades := map[string]string{
		"Alice":  "A",
		"Bob":    "B",
		"Charlie": "B+",
		"David":  "A-",
		"Eva":    "C",
	}

	// Rassembler les noms des étudiants (clés) dans une slice pour les trier
	var names []string
	for name := range studentGrades {
		names = append(names, name)
	}
	sort.Strings(names)


	// TODO: Parcourir la liste triée des noms des étudiants
	// et afficher le nom et la note de chaque étudiant au format :
	// "Student: [name], Grade: [grade]"
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux

Entraînez-vous par vous-même : Compilateur Go en ligne