Python의 "if x in" 구성에 대한 Go의 답변
프로그래밍에서는 종종 요소 내에 요소가 있는지 확인해야 하는 경우가 있습니다. 수집. Python에서는 "if x in" 구문을 사용하여 이를 간결하게 수행할 수 있습니다. 하지만 Go도 비슷한 메커니즘을 제공하나요?
기능 구현
불행히도 Go에는 내장된 "if x in" 구문이 부족합니다. 하지만 이 기능은 두 가지 방법으로 구현할 수 있습니다:
1. Slices.Contains 사용(Go 1.18 이상)
Go 1.18부터 언어는 주어진 요소가 슬라이스 내에 존재하는지 확인하는 데 사용할 수 있는 Slices.Contains 함수를 제공합니다.
package main func main() { arr := []int{1, 2, 3} fmt.Println(slices.Contains(arr, 2)) // True }
2. 사용자 정의 함수 사용(Go 1.18 이전 버전)
Go 1.18 이전에는 이 검사를 수행하기 위해 자체 함수를 정의해야 했습니다. 예는 다음과 같습니다.
package main func stringInSlice(a string, list []string) bool { for _, b := range list { if b == a { return true } } return false } func main() { arr := []string{"a", "b", "c"} fmt.Println(stringInSlice("b", arr)) // True }
맵으로 최적화
멤버십 확인을 자주 수행하는 경우 배열이나 슬라이스 대신 맵을 사용하는 것이 좋습니다. 지도는 지속적인 조회를 제공하여 성능을 크게 향상시킵니다.
package main func main() { visitedURL := map[string]bool{ "http://www.google.com": true, "https://paypal.com": true, } if visitedURL[thisSite] { fmt.Println("Already been here.") } }
Go에는 Python의 "if x in" 구문과 완전히 동일한 기능이 없지만 앞서 언급한 접근 방식은 다양한 시나리오에서 요소 존재를 확인할 수 있는 유연한 솔루션을 제공합니다. .
위 내용은 Go는 Python의 'if x in'과 같은 멤버십 확인을 어떻게 처리합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!