// test.go
package main
import (
"fmt"
)
type te struct {
Id int
Data string
}
func main() {
var lookingFor int = 6
var sortedList []int = []int{1, 3, 4, 6, 7, 9, 10, 11, 13}
index := binarySearch(sortedList, lookingFor)
if index >= 0 {
fmt.Println("Find the Data:", index)
} else {
fmt.Println("Not Find the Data!")
}
fmt.Println("Hello World!")
}
func binarySearch(sortedList []int, lookingFor int) int {
var lo int = 0
var hi int = len(sortedList) - 1
for lo <= hi {
var mid int = lo + (hi-lo)/2
var midValue int = sortedList[mid]
if midValue == lookingFor {
return midValue
} else if midValue > lookingFor {
hi = mid - 1
} else {
lo = mid + 1
}
}
return -1
}