Junior — Middle
Ak prejdete viackrát Map, zachová sa poradové poradie kľúčov?
sobes.tech AI
Odpoveď od AI
V jazyku Go typ map nezaručuje zachovanie poradia kľúčov počas iterácie. Pri každom prechode map-om môže byť poradie prechádzania kľúčov odlišné, pretože interné zobrazenie hash tabuľky nie je zoradené.
Ak chcete zachovať poradie, napríklad poradie vloženia, mali by ste použiť dodatočnú dátovú štruktúru, napríklad pole kľúčov, a iterovať cez ňu.
Príklad:
m := map[string]int{"a": 1, "b": 2, "c": 3}
keys := []string{"a", "b", "c"}
for _, k := range keys {
fmt.Println(k, m[k])
}
Týmto spôsobom bude sekvencia prechodu stabilná a predvídateľná.