Un moyen facile d’obtenir les clés dans une carte dans l’ordre alphabétique

Dans Go, quel est le moyen le plus simple d’obtenir les clés dans une carte sortingée par ordre alphabétique? C’est le moyen le plus court que je puisse faire:

package main import "container/vector" import "fmt" import "sort" func main() { m := map[ssortingng]ssortingng {"b":"15", "z":"123123", "x":"sdf", "a":"12"} var keys vector.SsortingngVector; for k,_ := range ( m ) { keys.Push(k) } sort.Sort( &keys ) fmt.Printf("%v\n", keys) } 

Vous sortingez un tableau de chaînes en utilisant SsortingngVector. Pour minimiser les frais généraux, vous pouvez sortinger un tableau de chaînes.

 package main import ( "fmt" "sort" ) func main() { m := map[ssortingng]ssortingng{"b": "15", "z": "123123", "x": "sdf", "a": "12"} mk := make([]ssortingng, len(m)) i := 0 for k, _ := range m { mk[i] = k i++ } sort.Ssortingngs(mk) fmt.Println(mk) } 

Sortie:

 [abxz] 

Ce serait la méthode la plus élégante:

 package main import ( "fmt" "sort" ) func main() { m := map[ssortingng]ssortingng{"b": "15", "z": "123123", "x": "sdf", "a": "12"} keys := make([]ssortingng, 0, len(m)) for key := range m { keys = append(keys, key) } sort.Ssortingngs(keys) fmt.Println(keys) }