> 백엔드 개발 > Golang > Go 슬라이스 및 맵에서 멤버십을 효율적으로 확인하는 방법은 무엇입니까?

Go 슬라이스 및 맵에서 멤버십을 효율적으로 확인하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-12-13 20:16:15
원래의
162명이 탐색했습니다.

How to Efficiently Check for Membership in Go Slices and Maps?

Go의 효과적인 "if x in" 구문: Python 구문 비교

Go는 기본적으로 "if x in" 구문을 제공하지 않습니다. 파이썬과 비슷합니다. 그러나 배열 또는 슬라이스에 대해 동일한 기능을 달성하고 보다 효율적인 멤버십 확인을 위해 맵을 사용하는 효과적인 기술이 있습니다.

배열 및 슬라이스의 경우

In Go 1.18 이상에서는 Slices에서 멤버십을 편리하게 확인할 수 있는 포함 기능을 제공합니다.

if contains.Contains(array, "x") {
  // Perform actions
}
로그인 후 복사

가기 전에 1.18에는 배열 또는 슬라이스 멤버십 검사를 위한 내장 연산자가 없습니다. 사용자 정의 기능을 구현할 수 있습니다.

func stringInSlice(a string, list []string) bool {
    for _, b := range list {
        if b == a {
            return true
        }
    }
    return false
}
로그인 후 복사

지도의 경우

지도는 키-값 쌍을 저장하여 더욱 효율적인 멤버십 확인을 제공합니다. 맵에 요소가 존재하는지 확인하려면 다음 구문을 사용하세요.

if visitedURL[thisSite] {
    // Perform actions
}
로그인 후 복사

visitedURL은 요소를 나타내는 키와 요소의 존재를 나타내는 값(예: 기존 요소의 경우 true)이 포함된 맵입니다.

위 내용은 Go 슬라이스 및 맵에서 멤버십을 효율적으로 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿