// +build ignore,OMIT | |
package main | |
import ( | |
"fmt" | |
"sort" | |
"strings" | |
) | |
type byLength []string | |
func (b byLength) Len() int { return len(b) } | |
func (b byLength) Less(i, j int) bool { return len(b[i]) < len(b[j]) } | |
func (b byLength) Swap(i, j int) { b[i], b[j] = b[j], b[i] } | |
func main() { | |
values := []string{"ball", "hell", "one", "joke", "fool", "moon", "two"} | |
sort.Stable(byLength(values)) // HL | |
fmt.Println(strings.Join(values, "\n")) | |
} |