aboutsummaryrefslogtreecommitdiff
path: root/src/sort
diff options
context:
space:
mode:
authorAgniva De Sarker <agnivade@yahoo.co.in>2017-09-23 22:29:42 +0530
committerIan Lance Taylor <iant@golang.org>2017-09-24 14:40:37 +0000
commitff3123d1f66992f51d326c844d8ecf1f5ab8e75d (patch)
treeec53e8edd54961dc9919cb55e5f31484437f2c4b /src/sort
parent48ec5122ff439ae2c8619fb29a82339555403a9f (diff)
downloadgo-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.go14
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]
}