Comprobar si un Slice contiene un elemento en Golang
Go carece de un concepto de lenguaje o una función de biblioteca estándar para determinar si un valor dado pertenece a una porción. Deberá crear su propia función contiene()
con dos parámetros, el slice y el elemento que está buscando.
Aprenderemos en este tutorial cómo usar Golang para determinar si un elemento está presente o no.
Utilice la función contains()
para comprobar si un elemento está presente o no en el slice
En el siguiente ejemplo, contains()
se usa para comprobar si un elemento está presente o no en el slice.
Ejemplo 1:
package main
import "fmt"
func contains(elems []string, v string) bool {
for _, s := range elems {
if v == s {
return true
}
}
return false
}
func main() {
fmt.Println(contains([]string{"a", "b", "c"}, "b"))
fmt.Println(contains([]string{"a", "b", "c"}, "d"))
}
Producción :
true
false
En el siguiente ejemplo, tomamos un slice de enteros en slice1
. Este slice se examina para ver si el elemento 5
está presente.
Ejemplo 2:
package main
import "fmt"
func main() {
slice1 := []int{1, 2, 3, 4, 5}
var element int = 5
var result bool = false
for _, x := range slice1 {
if x == element {
result = true
break
}
}
if result {
fmt.Print("Element is present.")
} else {
fmt.Print("Element is not present.")
}
}
Producción :
Element is present.
El último ejemplo contiene una porción de nombres en una matriz llamada s
y comprueba si "Rick"
y "Mike"
están presentes o no.
Ejemplo 3:
package main
import "fmt"
func contains(s []string, str string) bool {
for _, v := range s {
if v == str {
return true
}
}
return false
}
func main() {
s := []string{"Jay", "Rick", "Morty", "Jerry"}
fmt.Println(contains(s, "Rick"))
fmt.Println(contains(s, "Mike"))
}
Producción :
true
false