Sobes.tech
Junior — Middle

A estrutura de dados Map na linguagem de programação é ordenada por chaves?

sobes.tech IA

Resposta da IA

Na linguagem Go, a estrutura de dados incorporada map não garante a ordenação por chaves. A ordem de iteração dos elementos em map é aleatória e pode mudar entre iterações.

Se for necessário ordenar os elementos por chaves, deve-se extrair as chaves para um slice, ordená-lo usando sort, e então percorrer o map na ordem das chaves ordenadas:

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])
}

Dessa forma, o map em si não é ordenado, mas a ordenação pode ser implementada manualmente.