How to find out element position in slice?
The Sort function sorts the data interface in both ascending and descending order. IntSlice attaches the methods of Interface to []int, sorting in increasing order. StringSlice attaches the methods of Interface to []string, sorting in increasing order.
Below is an example to search particular string or integer in string or integer slice vice versa.
Example
package main
import (
"fmt"
"sort"
)
func main() {
str := []string{"Washington","Texas","Ohio","Nevada","Montana","Indiana","Alaska"} // unsorted
sort.Sort(sort.StringSlice(str))
fmt.Println(str) // sorted
fmt.Println("Length of Slice: ", sort.StringSlice.Len(str)) // 7
fmt.Println("OHIO found in Slice at position: ", sort.StringSlice(str).Search("OHIO")) // 4
fmt.Println("Ohio found in Slice at position: ", sort.StringSlice(str).Search("Ohio")) // 4
fmt.Println("ohio found in Slice at position: ", sort.StringSlice(str).Search("ohio")) // 7
fmt.Println("\n\n")
num := []int{9, 22, 54, 33, -10, 40} // unsorted
sort.Sort(sort.IntSlice(num))
fmt.Println(num) // sorted
fmt.Println("Length of Slice: ", sort.IntSlice.Len(num)) // 6
fmt.Println("40 found in Slice at position: ", sort.IntSlice(num).Search(40)) // 4
fmt.Println("82 found in Slice at position: ", sort.IntSlice(num).Search(82)) // 6
}
Output
[Alaska Indiana Montana Nevada Ohio Texas Washington]
Length of Slice: 7
OHIO found in Slice at position: 4
Ohio found in Slice at position: 4
ohio found in Slice at position: 7
[-10 9 22 33 40 54]
Length of Slice: 6
40 found in Slice at position: 4
82 found in Slice at position: 6
Most Helpful This Week
Regular expression to validate common Credit Card Numbers
How to fetch an Integer variable as String in Go?
Get current date and time in various format in golang
How to check UPPERCASE characters in a string in Golang?
How to split a string on white-space?
Get Year, Month, Day, Hour, Min and Second from a specified date