Golang program to search an item in ascending order sorted slice

Here, we are going to learn how to search an item in ascending order sorted slice in Golang (Go Language)?
Submitted by Nidhi, on March 16, 2021 [Last updated : March 04, 2023]

Searching an item in ascending order sorted slice in Golang

Problem Solution:

In this program, we will create an ascending order sorted slice of integers and then search an item into a slice using sort.Search() function.

Program/Source Code:

The source code to search an item in ascending order sorted slice is given below. The given program is compiled and executed successfully.

Golang code to search an item in ascending order sorted slice

// Golang program to search an item in a sorted slice

package main

import "fmt"
import "sort"

func main() {
	slice := []int{10, 20, 30, 40, 50, 60, 70, 80, 90, 100}
	item := 40

	index := sort.Search(len(slice), func(index int) bool { return slice[index] >= item })

	if index < len(slice) && slice[index] == item {
		fmt.Printf("Item %d found at %d index", item, index)
	} else {
		fmt.Printf("Item %d not found", item)
	}
}

Output:

Item 40 found at 3 index

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 above program, we also imported the sort package to search an item into ascending order sorted slice using sort.Search() function and get the index of item into slice.

In the main() function, we created a slice of integers. Then search item into slice using sort.Search(), here we used the ">=" operator to search an item in ascending order slice. If an item is found in the slice then we will print the index of the item on the console screen.

Golang Slices Programs »





Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.