Avatar ·

Comment obtenir une slice des clés d'une map en Go : une solution simple et efficace

Bonjour à tous ! Je suis un développeur Go débutant et j'ai rencontré un problème apparemment simple, mais je n'arrive pas à trouver une solution élégante. J'ai une map, disons `map[string]int`, où les clés sont des noms d'utilisateurs et les valeurs leur âge. J'ai besoin d'obtenir une liste de toutes les clés (noms) sous forme d'une slice `[]string`, par exemple pour la passer à une fonction qui affiche la liste des utilisateurs. En Python, j'écrirais simplement `list(my_dict.keys())`. En JavaScript — `Object.keys(myObj)`. En Go, je ne vois pour l'instant qu'une solution avec une itération manuelle : ```go users := map[string]int{ "Alice": 25, "Bob": 30, "Charlie": 22, } var keys []string for k := range users { keys = append(keys, k) } ``` Cela fonctionne, mais cela ressemble à une solution verbeuse et réinventée. Il me semble qu'une fonction intégrée devrait exister dans la bibliothèque standard de Go pour une opération aussi fréquente. J'ai cherché dans `reflect` et `maps` (Go 1.21+), mais je n'ai pas trouvé de réponse claire. Questions : 1. L'itération manuelle est-elle vraiment la seule