Überprüfen Sie, ob ein Slice ein Element in Golang enthält

Jay Singh 23 August 2022
Ü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

Verwandter Artikel - Go Slice