Go Slices: 누락된 포함 메서드
Go에서 슬라이스는 주어진 요소가 내부에 존재하는지 효율적으로 확인하는 메서드를 기본적으로 제공하지 않습니다. 그들을. 수동으로 검색하기 위해 각 요소를 반복해야 하는 경우 이는 번거로운 작업이 될 수 있습니다.
대체 접근 방식
사용자 정의 포함 메소드를 구현하는 것이 가능하지만 그렇지 않습니다. 보편적으로 권장됩니다. 대신 다음 대안을 고려하십시오.
예:
단어라는 이름의 문자열 조각을 고려해보세요.
words := []string{"apple", "banana", "cherry"}
정렬을 이용하여 "체리"의 존재 여부를 확인하려면 package:
i := sort.SearchStrings(words, "cherry") if i < len(words) && words[i] == "cherry" { fmt.Println("cherry found") }
맵을 사용하여 확인하려면:
existsMap := map[string]struct{}{} for _, word := range words { existsMap[word] = struct{}{} } if _, ok := existsMap["cherry"]; ok { fmt.Println("cherry found") }
이러한 접근 방식은 전용 Slice.contains 메서드 없이 Go 슬라이스에서 포함 검사를 수행하기 위한 효율적이고 유연한 메커니즘을 제공합니다. .
위 내용은 Go 슬라이스에 요소 존재를 효율적으로 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!