Existe-t-il un moyen d'obtenir une liste de toutes les clés d'une carte de langue Go? Le nombre d'éléments est donné par len()
, mais si j'ai une carte comme:
m := map[string]string{ "key1":"val1", "key2":"val2" };
Comment parcourir toutes les clés?
loops
dictionary
go
Martin Redmond
la source
la source
Voici un moyen simple d'obtenir
slice
les clés de carte.la source
Keys
fonction de prendre une carte avec des touches de tout type, pas seulement des chaînes?func Keys(m map[interface{}]interface{}) (keys []interface{})
, @ RobertT.McGibbon vous devez changer la fonction "prototype"map[interface{}]interface{}
. Go ne prend pas en charge les génériques. Vous ne pouvez pas créer une fonction avec unmap
paramètre qui accepte des cartes avec différents types de clés.Utilisez la réponse acceptée:
la source
for _, k := range v.MapKeys()
, puisque dans votre exemple,k
serait l'index int de la tranche de clés