Go 슬라이스의 요소 감지에 대한 일반적인 접근 방식
Go에서는 슬라이스에 특정 요소가 포함되어 있는지 확인하는 것이 일반적인 작업일 수 있습니다. 이를 위한 기본 제공 방법은 없지만 이 기능을 달성하는 일반 코드를 작성하는 것이 가능합니다.
인터페이스 접근 방식:
처음에는 다음을 고려할 수 있습니다. 인터페이스{} 유형을 사용하여 알 수 없는 요소를 나타냅니다. 그러나 이 접근 방식에는 개별 요소를 비교하기 위해 유형 어설션이 필요하므로 제한 사항이 있습니다.
리플렉션 기반 접근 방식:
보다 포괄적인 솔루션은 리플렉션을 사용하여 슬라이스의 요소를 원하는 값과 비교합니다. 구현은 다음과 같습니다.
이 반사 기반 접근 방식은 요소 유형에 관계없이 모든 슬라이스에서 요소 존재 여부를 확인할 수 있는 일반적인 솔루션을 제공합니다. 그러나 추가 반사 오버헤드로 인해 특정 요소 유형 함수에 비해 상당한 성능 저하가 발생합니다.
성능 고려 사항:
일반 Contains() 벤치마킹 제네릭이 아닌 동등 항목에 대한 함수는 상당한 속도 저하를 보여줍니다. 이 경우 약 50-60배 더 느립니다. 예.
사용 예:
다음 예에서는 Contains() 함수의 사용법을 보여줍니다.
위 내용은 Go 슬라이스에 요소 존재 여부를 일반적으로 어떻게 확인할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!