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])
}
}