Sobes.tech
Junior — Middle

Garandeert de gegevensstructuur Map het behoud van de invoervolgorde van de elementen?

sobes.tech AI

Antwoord van AI

In de programmeertaal Go garandeert de datastructuur map niet dat de volgorde van het invoegen van elementen behouden blijft. Iteratie over een map gebeurt in een willekeurige volgorde, die bij elke doorloop kan veranderen.

Als je de volgorde van invoegen wilt behouden, moet je een extra structuur gebruiken, zoals een slice om de sleutels in de gewenste volgorde op te slaan, of externe bibliotheken gebruiken die geordende woordenboeken implementeren.

Voorbeeld van het itereren over een map met behoud van de volgorde van de sleutels:

package main

import "fmt"

func main() {
    m := map[string]int{"a": 1, "b": 2, "c": 3}
    keys := []string{"a", "b", "c"} // volgorde van invoegen

    for _, k := range keys {
        fmt.Println(k, m[k])
    }
}