501699af16
From-SVN: r184819
31 lines
748 B
Go
31 lines
748 B
Go
// Copyright 2011 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package sort_test
|
|
|
|
import (
|
|
"fmt"
|
|
"sort"
|
|
)
|
|
|
|
// Reverse embeds a sort.Interface value and implements a reverse sort over
|
|
// that value.
|
|
type Reverse struct {
|
|
// This embedded Interface permits Reverse to use the methods of
|
|
// another Interface implementation.
|
|
sort.Interface
|
|
}
|
|
|
|
// Less returns the opposite of the embedded implementation's Less method.
|
|
func (r Reverse) Less(i, j int) bool {
|
|
return r.Interface.Less(j, i)
|
|
}
|
|
|
|
func ExampleInterface_reverse() {
|
|
s := []int{5, 2, 6, 3, 1, 4} // unsorted
|
|
sort.Sort(Reverse{sort.IntSlice(s)})
|
|
fmt.Println(s)
|
|
// Output: [6 5 4 3 2 1]
|
|
}
|