Junior — Middle
Zaručuje datová struktura Map zachování pořadí vložení prvků?
sobes.tech AI
Odpověď od AI
V jazyce Go struktura dat map nezaručuje zachování pořadí vkládání prvků. Iterace přes map probíhá v náhodném pořadí, které se může při každém průchodu měnit.
Pokud je potřeba zachovat pořadí vkládání, je nutné použít dodatečnou strukturu, například slice pro uložení klíčů ve požadovaném pořadí, nebo použít externí knihovny implementující řazené slovníky.
Příklad iterace přes map s zachováním pořadí klíčů:
package main
import "fmt"
func main() {
m := map[string]int{"a": 1, "b": 2, "c": 3}
keys := []string{"a", "b", "c"} // pořadí vkládání
for _, k := range keys {
fmt.Println(k, m[k])
}
}