Menu
Coddy logo textTech

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 unique : 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 que le code suivant 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, vous pouvez comparer en toute sécurité une map à nil :

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

Lorsque vous devez vérifier si deux maps contiennent les mêmes paires clé-valeur, vous devez écrire une fonction personnalisée qui parcourt les deux maps et compare chaque élément individuellement. Cette approche vous donne un contrôle total sur la logique de comparaison, vous permettant de définir exactement ce que signifie « égal » pour votre cas d'utilisation spécifique.

quiz iconTestez-vous

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

quiz iconTestez-vous

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

quiz iconTestez-vous

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

Aide-mémoire

Les maps ne peuvent pas être comparées directement à l'aide de l'opérateur ==, sauf lors de la comparaison avec nil :

// Cela ne compilera PAS
map1 := map[string]int{"a": 1, "b": 2}
map2 := map[string]int{"a": 1, "b": 2}
if map1 == map2 { // Erreur de compilation !
    fmt.Println("Maps are equal")
}

Vous pouvez comparer une map à nil :

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

Pour vérifier si deux maps sont égales, vous devez écrire une fonction personnalisée qui parcourt les deux maps et compare chaque élément individuellement.

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