github.com/riscv/riscv-go@v0.0.0-20200123204226-124ebd6fcc8e/src/sort/example_test.go (about) 1 // Copyright 2011 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package sort_test 6 7 import ( 8 "fmt" 9 "sort" 10 ) 11 12 func ExampleInts() { 13 s := []int{5, 2, 6, 3, 1, 4} // unsorted 14 sort.Ints(s) 15 fmt.Println(s) 16 // Output: [1 2 3 4 5 6] 17 } 18 19 func ExampleReverse() { 20 s := []int{5, 2, 6, 3, 1, 4} // unsorted 21 sort.Sort(sort.Reverse(sort.IntSlice(s))) 22 fmt.Println(s) 23 // Output: [6 5 4 3 2 1] 24 } 25 26 func ExampleSlice() { 27 people := []struct { 28 Name string 29 Age int 30 }{ 31 {"Gopher", 7}, 32 {"Alice", 55}, 33 {"Vera", 24}, 34 {"Bob", 75}, 35 } 36 sort.Slice(people, func(i, j int) bool { return people[i].Name < people[j].Name }) 37 fmt.Println("By name:", people) 38 39 sort.Slice(people, func(i, j int) bool { return people[i].Age < people[j].Age }) 40 fmt.Println("By age:", people) 41 // Output: By name: [{Alice 55} {Bob 75} {Gopher 7} {Vera 24}] 42 // By age: [{Gopher 7} {Vera 24} {Alice 55} {Bob 75}] 43 }