How do I implement binary search in Go?

Binary search is an efficient algorithm for finding an item from a sorted list of items. It works by repeatedly dividing the portion of the list that could contain the item in half until you've narrowed down the possible locations to just one.

Binary Search Implementation in Go

Here is an example of how to implement binary search in Go:

package main import "fmt" // BinarySearch function performs the binary search algorithm func BinarySearch(arr []int, target int) int { left, right := 0, len(arr)-1 for left <= right { mid := left + (right-left)/2 if arr[mid] == target { return mid // target found } if arr[mid] < target { left = mid + 1 // search in the right half } else { right = mid - 1 // search in the left half } } return -1 // target not found } func main() { arr := []int{1, 2, 3, 4, 5, 6, 7, 8, 9} target := 5 result := BinarySearch(arr, target) if result != -1 { fmt.Printf("Element found at index: %d\n", result) } else { fmt.Println("Element not found in the array") } }

Go Binary Search Algorithms Coding Tutorials