Avatar ·

Como iterar sobre todas as chaves de um map em Go? Iteração sobre dicionário

Olá a todos! Comecei a estudar Go recentemente e me deparei com um problema ao trabalhar com map. Preciso percorrer todas as chaves do dicionário e realizar algumas ações com elas. Estou acostumado com Python, onde posso simplesmente escrever `for key in my_dict:`, mas em Go isso não funciona. Tenho um map que armazena nomes de usuários e suas idades: ```go ages := map[string]int{ "Alice": 30, "Bob": 25, "Charlie": 35, } ``` Quero exibir todos os usuários com mais de 28 anos. Tentei fazer assim: ```go for key := range ages { if ages[key] > 28 { fmt.Println(key) } } ``` Mas não tenho certeza se esta é a maneira correta. Primeiro, li que a ordem das chaves em um map não é garantida — isso me confunde um pouco. Segundo, como faço se precisar obter não apenas a chave, mas também o valor? E existe alguma maneira de ordenar as chaves antes da iteração? Ficarei grato por uma explicação detalhada com exemplos. Estou especialmente interessado em: 1. A sintaxe correta para percorrer