Іншим варіантом є сортування фрагмента за допомогою пакету сортування, а потім пошук потрібної речі:
package main
import (
"sort"
"log"
)
var ints = [...]int{74, 59, 238, -784, 9845, 959, 905, 0, 0, 42, 7586, -5467984, 7586}
func main() {
data := ints
a := sort.IntSlice(data[0:])
sort.Sort(a)
pos := sort.SearchInts(a, -784)
log.Println("Sorted: ", a)
log.Println("Found at index ", pos)
}
відбитки
2009/11/10 23:00:00 Sorted: [-5467984 -784 0 0 42 59 74 238 905 959 7586 7586 9845]
2009/11/10 23:00:00 Found at index 1
Це працює для основних типів, і ви завжди можете реалізувати інтерфейс сортування для власного типу, якщо вам потрібно працювати над фрагментом інших речей. Див. Http://golang.org/pkg/sort
Залежить від того, чим ти займаєшся.