메소드를 작성하는대로
패키지에 의해 표시됩니다. "FMT"가져 오기 func main () { 슬라이스 : = [] int {1, 2, 3} Slicececeantains (슬라이스, 2) { fmt.println ( "contains") } 또 다른 { fmt.println ( "포함되지 않음") } } func slicececectains (slice [] int, object int) bool { _, v : = 범위 슬라이스 { V == 객체 {인 경우 진실을 반환하십시오 } } 거짓을 반환하십시오 }이진 검색 :
package main import "fmt" func main() { slice := []int{1, 2, 3} if sliceContains(slice, 2) { fmt.Println("Contains") } else { fmt.Println("Not contains") } } func sliceContains(slice []int, object int) bool { for _, v := range slice { if v == object { return true } } return false }mkb에서 제안한대로 큰 슬라이스에 대한보다 효율적인 접근 방식을 제공합니다.
패키지 메인 수입 (수입) "FMT" "종류" )) func main () { 슬라이스 : = [] int {1, 2, 3} Sort.Ints (슬라이스) 색인 : = sort.searchints (슬라이스, 2) IF INDEX! = LEN (슬라이스) { fmt.println ( "contains") } 또 다른 { fmt.println ( "포함되지 않음") } }
맵을 사용하여 :
package main import "fmt" func main() { slice := []int{1, 2, 3} if sliceContains(slice, 2) { fmt.Println("Contains") } else { fmt.Println("Not contains") } } func sliceContains(slice []int, object int) bool { for _, v := range slice { if v == object { return true } } return false }수많은 존재 점검이 예상되는 경우 슬라이스의 대안으로지도를 사용하여보다 효율적인 솔루션을 제공합니다.
패키지 Main 수입 (수입) "FMT" "동조" )) func main () { 슬라이스 : = [] int {1, 2, 3} m : = make (map [int] struct {}, len (slice)) _, v : = 범위 슬라이스 { m [v] = struct {} {} } _가 존재한다면 : = m [2]; 존재하는 { fmt.println ( "contains") } 또 다른 { fmt.println ( "포함되지 않음") } }
이 시나리오에서 맵 [String] struct {}는 그러한 값에 대한 최적화 된 내부 맵 유형으로 인해 세트에 자주 사용됩니다.부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3