슬라이스에 Golang의 요소가 포함되어 있는지 확인

Jay Singh 2022년8월23일
슬라이스에 Golang의 요소가 포함되어 있는지 확인

Go에는 주어진 값이 슬라이스에 속하는지 판단하기 위한 언어 개념이나 표준 라이브러리 기능이 없습니다. 두 개의 매개변수, 즉 슬라이스와 찾고 있는 요소를 사용하여 자신만의 contains() 함수를 만들어야 합니다.

이 튜토리얼에서 Golang을 사용하여 요소가 있는지 여부를 결정하는 방법을 배웁니다.

contains() 함수를 사용하여 요소가 슬라이스에 있는지 여부 확인

다음 예에서 contains()는 요소가 슬라이스에 있는지 여부를 확인하는 데 사용됩니다.

예 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"))
}

출력:

true
false

다음 예에서는 slice1에서 정수 조각을 가져옵니다. 이 슬라이스는 5 요소가 있는지 확인하기 위해 검사됩니다.

예 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.")
    }
}

출력:

Element is present.

마지막 예는 s라는 배열에 이름 조각을 포함하고 "Rick""Mike"가 있는지 여부를 확인합니다.

예 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"))
}

출력:

true
false

관련 문장 - Go Slice