Menu
CoddyTech

Comparer des Maps

Fait partie de la section Logique & Flux du Journey GO de Coddy. Leçon 29 sur 68.

Contrairement à de nombreux autres types de données en Go, les maps ont une limitation particulière : elles ne peuvent pas être comparées directement à l’aide de l’opérateur ==. La seule exception à cette règle est la comparaison d’une map à nil.

Cela signifie qu’un code comme celui-ci ne compilera pas :

map1 := map[string]int{"a": 1, "b": 2}
map2 := map[string]int{"a": 1, "b": 2}

// Cela provoquera une erreur de compilation !
if map1 == map2 {
    fmt.Println("Maps are equal")
}

Cependant, tu peux comparer sans risque une map à nil :

var myMap map[string]int
if myMap == nil {
    fmt.Println("Map is nil")
}

Lorsque tu dois vérifier si deux maps contiennent les mêmes paires clé-valeur, tu dois écrire une fonction personnalisée qui parcourt les deux maps et compare chaque élément individuellement. Cette approche te donne un contrôle total sur la logique de comparaison, ce qui te permet de définir précisément ce que signifie « égal » dans ton cas d’utilisation particulier.

Essayez vous-même

Cette leçon ne comprend pas de défi de code.

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 Logique & Flux

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