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.