Junior — Middle
Je datová struktura Map v programovacím jazyce tříděná podle klíčů?
sobes.tech AI
Odpověď od AI
V jazyce Go vestavěná datová struktura map nezaručuje řazení podle klíčů. Pořadí průchodu prvky v mapě je náhodné a může se měnit mezi iteracemi.
Pokud je potřeba prvky seřadit podle klíčů, je třeba extrahovat klíče do pole, seřadit je pomocí sort a poté projít mapu v pořadí seřazených klíčů:
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ímto způsobem mapa sama o sobě není seřazená, ale řazení lze provést ručně.