Junior — Middle
Vai programmēšanas valodas Map datu struktūra ir kārtojama pēc atslēgām?
sobes.tech AI
Atbilde no AI
Go valodā iebūvētā datu struktūra map nenodrošina kārtošanu pēc atslēgām. Map elementu apstaigšanas kārtība ir nejauša un var mainīties starp iterācijām.
Ja nepieciešams kārtot elementus pēc atslēgām, jāizvelk atslēgas masīvā, jākārto tas ar sort un tad jāapstaigā map pēc kārtotiem atslēgu secības:
keys := make([]string, 0, len(m))
for k := range m {
keys = append(keys, k)
}
sort.Strings(keys)
for _, k := range keys {
fmt.Println(k, m[k])
}
Tādējādi, map pati par sevi nav kārtota, bet kārtošanu var realizēt ar roku.