일반 프로그래밍을 사용하면 다양한 유형의 데이터로 작업할 수 있는 코드를 생성할 수 있습니다. Go에서는 유형 매개변수를 통해 이를 달성합니다. 제네릭의 일반적인 사용 사례 중 하나는 유형이 구현해야 하는 메서드 집합을 정의하는 인터페이스입니다.
반복기 인터페이스와 같은 제네릭 인터페이스를 만들려고 하면 함수 또는 관련 오류가 발생할 수 있습니다. 메소드 유형 매개변수. 일반 인터페이스를 정의하려면 인터페이스 내의 개별 메서드가 아닌 인터페이스 유형 자체에 유형 매개변수를 지정해야 합니다.
다음은 일반 반복기 인터페이스의 올바른 구현 예입니다.
type Iterator[T any] interface { ForEachRemaining(action func(T) error) error // other methods }
인터페이스 본문 내에서 T 유형 매개변수를 메소드의 다른 유형 매개변수처럼 사용할 수 있습니다.
여기에 더 자세한 내용이 있습니다. 고장:
type MyIterator[T any] struct { // Implementation details } func (it *MyIterator[T]) ForEachRemaining(action func(T) error) error { // Implementation details }
인터페이스 유형에 유형 매개변수를 지정하고 이를 인터페이스 메소드 내에서 사용하면 다양한 유형의 데이터로 작업할 수 있는 일반 인터페이스를 생성하여 유연한 기반을 제공할 수 있습니다. Go에서 강력하고 재사용 가능한 코드를 구축하기 위한 것입니다.
위 내용은 Go에서 일반 인터페이스를 어떻게 올바르게 정의합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!