source
package main
import "fmt"
func main() {
	var test = []int{2, 3, 4, 6, 7}
	fmt.Println(binarySearch(test, 5))
	fmt.Println(binarySearch(test, 3))
}
func binarySearch(array []int, target int) bool {
	count := len(array)
	if count == 1 && array[0] == target {
		return true
	}
	if count == 1 && array[0] != target {
		return false
	} //#1
	var medium = array[count/2] //#2
	//fmt.Println(array,medium)
	if medium < target { //#3
		return binarySearch(array[count/2:], target)
	} else if medium > target {
		return binarySearch(array[:count/2], target)
	} else if medium == target {
		return true
	}
	return false
}
output
false
true