29 lines
548 B
Go
29 lines
548 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"sort"
|
|
)
|
|
|
|
type pair struct {
|
|
name, value string
|
|
}
|
|
type csArray []pair
|
|
|
|
// three methods satisfy sort.Interface
|
|
func (a csArray) Less(i, j int) bool { return a[i].name < a[j].name }
|
|
func (a csArray) Len() int { return len(a) }
|
|
func (a csArray) Swap(i, j int) { a[i], a[j] = a[j], a[i] }
|
|
|
|
var x = csArray{
|
|
pair{"joe", "120"},
|
|
pair{"foo", "31"},
|
|
pair{"bar", "251"},
|
|
}
|
|
|
|
func main() {
|
|
sort.Sort(x)
|
|
for _, p := range x {
|
|
fmt.Printf("%5s: %s\n", p.name, p.value)
|
|
}
|
|
}
|