diff options
author | Agniva De Sarker <agnivade@yahoo.co.in> | 2017-09-23 22:29:42 +0530 |
---|---|---|
committer | Ian Lance Taylor <iant@golang.org> | 2017-09-24 14:40:37 +0000 |
commit | ff3123d1f66992f51d326c844d8ecf1f5ab8e75d (patch) | |
tree | ec53e8edd54961dc9919cb55e5f31484437f2c4b /src/sort | |
parent | 48ec5122ff439ae2c8619fb29a82339555403a9f (diff) | |
download | go-ff3123d1f66992f51d326c844d8ecf1f5ab8e75d.tar.gz go-ff3123d1f66992f51d326c844d8ecf1f5ab8e75d.zip |
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>
Diffstat (limited to 'src/sort')
-rw-r--r-- | src/sort/example_interface_test.go | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/sort/example_interface_test.go b/src/sort/example_interface_test.go index 442204ea9e..72d3017a82 100644 --- a/src/sort/example_interface_test.go +++ b/src/sort/example_interface_test.go @@ -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] } |