Golang에서 인터페이스의 메소드 세트를 인쇄하는 방법
Go에서 인터페이스의 메소드 세트를 가져오는 것은 리플렉션을 통해 달성할 수 있습니다. 이 기술을 사용하면 컴파일 시 특정 유형을 알지 못한 채 변수의 유형 정보를 검사하고 조사할 수 있습니다.
해결책:
reflect 패키지를 사용하면 다음과 같이 액세스할 수 있습니다. 인터페이스의 유형 정보 및 메소드. 다음은 인터페이스의 함수 이름을 검색하는 방법을 보여주는 코드 조각입니다.
<code class="go">package main import ( "fmt" "reflect" ) type Searcher interface { Search(query string) (found bool, err error) ListSearches() []string ClearSearches() (err error) } func main() { t := reflect.TypeOf(struct{ Searcher }{}) for i := 0; i < t.NumMethod(); i++ { fmt.Println(t.Method(i).Name) } }</code>
이 코드는 다음 출력을 인쇄합니다.
Search ListSearches ClearSearches
reflect.TypeOf() 함수는 인터페이스를 포함하는 익명 구조체의 유형 정보입니다. 그런 다음 t.NumMethod()는 인터페이스에 의해 정의된 메소드 수를 제공하고 t.Method(i).Name을 사용하여 이를 반복하여 메소드 이름을 얻습니다.
위 내용은 Go에서 인터페이스의 메소드 세트를 인쇄하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!