How to check if an item exists in Slice in Golang?
To determine if a specified item is present in a slice iterate slice item and check using if condition.
Example
package main
import (
"fmt"
"reflect"
)
func main() {
var strSlice = []string{"India", "Canada", "Japan", "Germany", "Italy"}
fmt.Println(itemExists(strSlice, "Canada"))
fmt.Println(itemExists(strSlice, "Africa"))
}
func itemExists(slice interface{}, item interface{}) bool {
s := reflect.ValueOf(slice)
if s.Kind() != reflect.Slice {
panic("Invalid data-type")
}
for i := 0; i < s.Len(); i++ {
if s.Index(i).Interface() == item {
return true
}
}
return false
}
Most Helpful This Week
GO Program to Find the Largest Number Among Three Numbers
Concurrency in Golang
How to add items to Slice using append function in Golang?
How do you read headers from an HTTP response with an HTTP client in Go?
How to append struct member dynamically using Empty Interface?
Golang writing struct to JSON file