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
How do you read headers in an HTTP response in Go?
Top Programming Languages Behind Blockchain App Development
Golang program for implementation LIFO Stack and FIFO Queue
Invalid memory address or nil pointer dereference error in Golang
Example to compare Println vs Printf
Golang writing struct to JSON file