Sobes.tech
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ě.