Sobes.tech
Junior — Middle

Hoe wordt de volgorde van het doorlopen van de elementen in de Map-gegevensstructuur uitgevoerd?

sobes.tech AI

Antwoord van AI

In Go garandeert de datastructuur map geen specifieke volgorde bij het doorlopen van de elementen. Bij iteratie met een for range-lus is de volgorde willekeurig en kan deze bij elke uitvoering van het programma veranderen.

Voorbeeld van het doorlopen van een map:

m := map[string]int{"a": 1, "b": 2, "c": 3}
for key, value := range m {
    fmt.Println(key, value)
}

Als een gesorteerde doorloop nodig is, worden meestal de sleutels in een slice gehaald, gesorteerd en vervolgens in gesorteerde volgorde doorlopen:

keys := make([]string, 0, len(m))
for k := range m {
    keys = append(keys, k)
}
sort.Strings(keys)
for _, k := range keys {
    fmt.Println(k, m[k])
}

Op deze manier is de volgorde van doorlopen in een map standaard niet bepaald en willekeurig.