Junior — Middle
Czy kolejność kluczy zostanie zachowana, jeśli wielokrotnie przejdziemy po Mapie?
sobes.tech AI
Odpowiedź od AI
W języku Go typ map nie gwarantuje zachowania kolejności kluczy podczas iteracji. Przy każdym przejściu po map, kolejność odwiedzania kluczy może być różna, ponieważ wewnętrzna reprezentacja tablicy haszującej nie jest uporządkowana.
Jeśli chcesz zachować kolejność, na przykład kolejność wstawiania, powinieneś użyć dodatkowej struktury danych, takiej jak tablica kluczy, i iterować po niej.
Przykład:
m := map[string]int{"a": 1, "b": 2, "c": 3}
keys := []string{"a", "b", "c"}
for _, k := range keys {
fmt.Println(k, m[k])
}
W ten sposób, kolejność iteracji będzie stabilna i przewidywalna.