mirror of
https://github.com/golang/go
synced 2024-11-19 18:04:40 -07:00
sort: update main example to use Slice along with Sort
This is to let sort.Slice get more prominence since it's the most common use case. Fixes #21989 Change-Id: I0b180cc20256f5f09065b722e191c508c872f4f7 Reviewed-on: https://go-review.googlesource.com/65710 Reviewed-by: Rob Pike <r@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
48ec5122ff
commit
ff3123d1f6
@ -35,10 +35,24 @@ func Example() {
|
||||
}
|
||||
|
||||
fmt.Println(people)
|
||||
// There are two ways to sort a slice. First, one can define
|
||||
// a set of methods for the slice type, as with ByAge, and
|
||||
// call sort.Sort. In this first example we use that technique.
|
||||
sort.Sort(ByAge(people))
|
||||
fmt.Println(people)
|
||||
|
||||
// The other way is to use sort.Slice with a custom Less
|
||||
// function, which can be provided as a closure. In this
|
||||
// case no methods are needed. (And if they exist, they
|
||||
// are ignored.) Here we re-sort in reverse order: compare
|
||||
// the closure with ByAge.Less.
|
||||
sort.Slice(people, func(i, j int) bool {
|
||||
return people[i].Age > people[j].Age
|
||||
})
|
||||
fmt.Println(people)
|
||||
|
||||
// Output:
|
||||
// [Bob: 31 John: 42 Michael: 17 Jenny: 26]
|
||||
// [Michael: 17 Jenny: 26 Bob: 31 John: 42]
|
||||
// [John: 42 Bob: 31 Jenny: 26 Michael: 17]
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user