Überprüfen Sie, ob ein Slice ein Element in Golang enthält
Go fehlt ein Sprachkonzept oder eine Standardbibliotheksfunktion, um zu bestimmen, ob ein gegebener Wert in einen Slice gehört. Sie müssen Ihre eigene contains()
-Funktion mit zwei Parametern erstellen, dem Slice und dem gesuchten Element.
Wir werden in diesem Tutorial lernen, wie man Golang verwendet, um festzustellen, ob ein Element vorhanden ist oder nicht.
Verwenden Sie die Funktion contains()
, um zu prüfen, ob ein Element im Slice vorhanden ist oder nicht
In diesem folgenden Beispiel wird contains()
verwendet, um zu prüfen, ob ein Element im Slice vorhanden ist oder nicht.
Beispiel 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"))
}
Ausgabe:
true
false
Im nächsten Beispiel nehmen wir ein Stück Ganzzahlen in slice1
. Dieser Slice wird daraufhin untersucht, ob das Element 5
vorhanden ist.
Beispiel 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.")
}
}
Ausgabe:
Element is present.
Das letzte Beispiel enthält eine Namensscheibe in einem Array namens s
und prüft, ob Rick
und Mike
vorhanden sind oder nicht.
Beispiel 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"))
}
Ausgabe:
true
false