go 1.18에서 제네릭을 테스트 중인데 이 예제를 살펴봤습니다. 나는 그 예를 다시 만들고 싶지만 int 슬라이스나 float 슬라이스를 전달할 수 있고 함수에서 슬라이스의 모든 것을 합산할 것입니다.
슬라이스를 반복하는 동안 몇 가지 문제가 발생했습니다. 제가 시도한 방법은 다음과 같습니다.
으아아아오류가 발생했습니다:
으아아아이 목표를 어떻게 달성하나요?
인터페이스(인터페이스 제약 조건 포함)의 핵심 유형은 다음과 같이 정의됩니다.
다음 조건 중 하나가 충족되면 인터페이스 t에는 코어 유형이 있습니다. 만족함:
t 유형 세트에 있는 모든 유형의 기본 유형인 단일 유형u
이 존재합니다
또는 t의 유형 세트에는 동일한 요소 유형 e를 가진 채널 유형만 포함되며 모든 방향성 채널은 동일한 방향을 갖습니다.
인터페이스 제약 조건에는 두 가지 기본 유형 []int64
和 []float64
이 있으므로 핵심 유형이 없습니다.
그래서 코어형이 필요한 곳에는 사용할 수 없습니다. 특히 range
和 make
.
기본 유형을 요구하도록 인터페이스를 변경한 다음 함수 서명에 슬라이스를 지정할 수 있습니다.
으아아아이 방법도 작동하지만 더 장황합니다.
으아아아위 내용은 일반 함수에 전달된 슬라이스의 합집합을 반복하는 방법은 무엇입니까? (T 코어리스 타입)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!