Junior — Middle
A estrutura de dados Map garante a preservação da ordem de inserção dos elementos?
sobes.tech IA
Resposta da IA
Na linguagem Go, a estrutura de dados map não garante a preservação da ordem de inserção dos elementos. A iteração sobre um map ocorre em uma ordem aleatória, que pode mudar a cada percurso.
Se for necessário manter a ordem de inserção, deve-se usar uma estrutura adicional, como um slice para armazenar as chaves na ordem desejada, ou usar bibliotecas externas que implementem dicionários ordenados.
Exemplo de percurso de um map mantendo a ordem das chaves:
package main
import "fmt"
func main() {
m := map[string]int{"a": 1, "b": 2, "c": 3}
keys := []string{"a", "b", "c"} // ordem de inserção
for _, k := range keys {
fmt.Println(k, m[k])
}
}