以sort.SearchInts为例:
// SearchInts searches for x in a sorted slice of ints and returns the index
// as specified by Search. The return value is the index to insert x if x is
// not present (it could be len(a)).
// The slice must be sorted in ascending order.
//
func SearchInts(a []int, x int) int {
return Search(len(a), func(i int) bool { return a[i] >= x })
}
注意return a[i] >= x
这句,找的是大于等于x的数。
那么当x找不到时就会返回比x大的数的index,如果不存在比x大的数,那么返回的就是切片a的长度。
网友评论