Opsi lainnya adalah mengurutkan potongan menggunakan paket sortir, lalu cari hal yang Anda cari:
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)
}
cetakan
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
Ini berfungsi untuk tipe dasar dan Anda selalu dapat mengimplementasikan antarmuka sortir untuk tipe Anda sendiri jika Anda perlu mengerjakan sepotong hal lain. Lihat http://golang.org/pkg/sort
Tergantung pada apa yang Anda lakukan.