1. func BinarySearch(arr []int, leftIndex, rightIndex, findVal int) {
    2. if leftIndex > rightIndex {
    3. fmt.Println("没有找到")
    4. }
    5. for leftIndex != rightIndex {
    6. middle := (leftIndex + rightIndex) / 2
    7. if arr[middle] == findVal {
    8. fmt.Println(middle)
    9. break
    10. } else if findVal > arr[middle] {
    11. leftIndex = middle + 1
    12. } else if findVal < arr[middle] {
    13. rightIndex = middle - 1
    14. }
    15. }
    16. }
    17. func TestBinarySearch(t *testing.T) {
    18. arr := []int{1, 2, 3, 5, 7, 15, 25, 30, 36, 39, 51, 67, 78, 80, 82, 85, 91, 92, 97}
    19. BinarySearch(arr, 0, len(arr), 30)
    20. }