Go에서 인터페이스 구현 확인
Go에서 인터페이스를 사용하면 다양한 데이터 유형에 대한 공통 동작을 정의하는 방법을 제공합니다. 그러나 값이 특정 인터페이스를 구현하는지 확인하는 것은 까다로울 수 있습니다.
유형 어설션과 유형 스위치
값이 인터페이스를 구현하는지 확인하는 가장 일반적인 방법 유형 주장을 통해 이루어집니다.
_, ok := val.(Somether)
이 유형 주장은 val 값이 Somether 유형으로 변환될 수 있는지 확인합니다. 가능하다면 변환된 값을 _에 할당하고 ok를 true로 설정합니다. 그렇지 않으면 ok를 false로 설정합니다.
그러나 유형 어설션은 val이 인터페이스라고 가정하지만 항상 그렇지 않을 수도 있습니다. 명시적인 유형 검사를 위해 유형 전환 방법을 사용할 수 있습니다.
var _ Somether = (*MyType)(nil)
이 예에서는 Somether 유형의 명명되지 않은 변수를 선언하고 이를 MyType 유형의 nil 포인터와 동일하게 설정합니다. 이 구문을 사용하면 컴파일러는 MyType이 Somether를 구현하는지 확인하고 그렇지 않으면 컴파일 오류를 발생시킵니다.
알려진 유형의 단순성
val 유형이 알려지면 컴파일러는 Somether를 구현하는지 자동으로 확인합니다. 위에서 설명한 명시적 확인은 유형을 알 수 없는 경우에만 필요합니다.
위 내용은 Go에서 값이 인터페이스를 구현하는지 어떻게 확인할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!