อีกทางเลือกหนึ่งคือการจัดเรียงชิ้นส่วนโดยใช้แพ็กเกจการจัดเรียงจากนั้นค้นหาสิ่งที่คุณกำลังมองหา:
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
ขึ้นอยู่กับว่าคุณกำลังทำอะไรอยู่