26 lines
462 B
Go
26 lines
462 B
Go
package main
|
|
|
|
import (
|
|
"errors"
|
|
"fmt"
|
|
)
|
|
|
|
func binarySearch(nums []int, target int) (int, error) {
|
|
low := 0
|
|
high := len(nums) - 1
|
|
for low <= high {
|
|
mid := low + (high-low)/2
|
|
if nums[mid] > target {
|
|
high = mid - 1
|
|
} else if nums[mid] < target {
|
|
low = mid + 1
|
|
} else if nums[mid] == target {
|
|
return mid, nil
|
|
}
|
|
}
|
|
return -1, errors.New("binarySearch: your target is not found in the given array")
|
|
}
|
|
|
|
func main() {
|
|
fmt.Println("Go Fast!")
|
|
}
|