Comprobar si un Slice contiene un elemento en Golang

Jay Singh 23 agosto 2022 Go Go Slice
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
¿Disfrutas de nuestros tutoriales? Suscríbete a DelftStack en YouTube para apoyarnos en la creación de más guías en vídeo de alta calidad. Suscríbete

Artículo relacionado - Go Slice