| // Copyright 2016 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" | 
 | ) | 
 |  | 
 | // This example demonstrates searching a list sorted in ascending order. | 
 | func ExampleSearch() { | 
 | 	a := []int{1, 3, 6, 10, 15, 21, 28, 36, 45, 55} | 
 | 	x := 6 | 
 |  | 
 | 	i := sort.Search(len(a), func(i int) bool { return a[i] >= x }) | 
 | 	if i < len(a) && a[i] == x { | 
 | 		fmt.Printf("found %d at index %d in %v\n", x, i, a) | 
 | 	} else { | 
 | 		fmt.Printf("%d not found in %v\n", x, a) | 
 | 	} | 
 | 	// Output: | 
 | 	// found 6 at index 2 in [1 3 6 10 15 21 28 36 45 55] | 
 | } | 
 |  | 
 | // This example demonstrates searching a list sorted in descending order. | 
 | // The approach is the same as searching a list in ascending order, | 
 | // but with the condition inverted. | 
 | func ExampleSearch_descendingOrder() { | 
 | 	a := []int{55, 45, 36, 28, 21, 15, 10, 6, 3, 1} | 
 | 	x := 6 | 
 |  | 
 | 	i := sort.Search(len(a), func(i int) bool { return a[i] <= x }) | 
 | 	if i < len(a) && a[i] == x { | 
 | 		fmt.Printf("found %d at index %d in %v\n", x, i, a) | 
 | 	} else { | 
 | 		fmt.Printf("%d not found in %v\n", x, a) | 
 | 	} | 
 | 	// Output: | 
 | 	// found 6 at index 7 in [55 45 36 28 21 15 10 6 3 1] | 
 | } |