Sort map



examples/sort-map/sort_map.go
package main

import (
    "fmt"
    "sort"
)

func main() {
    scores := map[string]int{"Alma": 23, "Cecilia": 12, "David": 37, "Berta": 78}
    fmt.Println(len(scores))
    fmt.Println(scores)
    fmt.Println()

    for name, score := range scores {
        fmt.Printf("%-7v %v\n", name, score)
    }
    fmt.Println()

    names := make([]string, 0, len(scores))
    for name := range scores {
        names = append(names, name)
    }
    fmt.Println(names)
    sort.Strings(names)
    fmt.Println(names)
    fmt.Println()

    for _, name := range names {
        fmt.Printf("%-7v %v\n", name, scores[name])
    }
}

examples/sort-map/sort_map.out
4
map[Alma:23 Berta:78 Cecilia:12 David:37]

Cecilia 12
David   37
Berta   78
Alma    23

[Alma Cecilia David Berta]
[Alma Berta Cecilia David]

Alma    23
Berta   78
Cecilia 12
David   37