Existe uma maneira de obter uma lista de todas as chaves em um mapa de idiomas do Go? O número de elementos é dado por len()
, mas se eu tiver um mapa como:
m := map[string]string{ "key1":"val1", "key2":"val2" };
Como iterar sobre todas as chaves?
loops
dictionary
go
Martin Redmond
fonte
fonte
Aqui está uma maneira fácil de obter
slice
as chaves do mapa.fonte
Keys
função faça um mapa com chaves de qualquer tipo, não apenas cadeias de caracteres?func Keys(m map[interface{}]interface{}) (keys []interface{})
, @ RobertT.McGibbon você precisa mudar a função de "protótipo"map[interface{}]interface{}
. O Go não suporta genéricos. Você não pode criar uma função com ummap
parâmetro que aceite mapas com diferentes tipos de chave.Use a resposta aceita:
fonte
for _, k := range v.MapKeys()
, já que no seu exemplo,k
seria o índice int da fatia de chaves