# Golang program to search an item in the array using binary search

Here, we are going to learn how to search an item in the array using binary search in Golang (Go Language)?
Submitted by Nidhi, on March 07, 2021 [Last updated : March 03, 2023]

## Searching an item in the array using binary search in Golang

Problem Solution:

In this program, we will create an integer array and read elements from the user. Then we will search the given item in an array using binary search and print appropriate messages on the console screen.

Program/Source Code:

The source code to search an item in the array using binary search is given below. The given program is compiled and executed successfully.

## Golang code to search an item in the array using binary search

```// Golang program to search an item in the array
// using binary search

package main

import "fmt"

func main() {
var arr [5]int
var item int = 0
var flag int = 0
var first int = 0
var last int = 0
var middle int = 0

fmt.Printf("Enter array elements: \n")
for i := 0; i <= 4; i++ {
fmt.Printf("Elements: arr[%d]: ", i)
fmt.Scanf("%d", &arr[i])
}

fmt.Printf("Enter item: ")
fmt.Scanf("%d", &item)

first = 0
last = 4
middle = (first + last) / 2

for first := 0; first <= last; {
if arr[middle] < item {
first = middle + 1
} else if arr[middle] == item {
flag = 1
fmt.Printf("Item %d found at index %d", item, middle)
break
} else {
last = middle - 1
}
middle = (first + last) / 2
}

if flag == 0 {
}
}
```

Output:

```Enter array elements:
Elements: arr[0]: 12
Elements: arr[1]: 34
Elements: arr[2]: 56
Elements: arr[3]: 23
Elements: arr[4]: 45
Enter item: 56
Item 56 found at index 2
```

Explanation:

In the above program, we declare the package main. The main package is used to tell the Go language compiler that the package must be compiled and produced the executable file. Here, we imported the fmt package that includes the files of package fmt then we can use a function related to the fmt package.

In the main() function, we created an array arr and read elements from the user. Then we searched the item in an array using binary search.

In the binary search, we searched the item by dividing the list and find the middle item, but the binary search can be used in a sorted array only.

If the item is found in the array then print the index of an item otherwise print the "Item not found in array" message on the console screen.