Golang でインターフェイスのメソッド セットを取得する方法
Golang でインターフェイスのメソッド セットを決定すると、すべてのインターフェイスのメソッド セットのリストを取得できます。特定のインターフェイスが強制するメソッド。これを実現するために、reflect パッケージを使用します。
Reflection を使用したメソッド セットの抽出
具体的な型の実装に関する事前知識がなくても、次のコード スニペットを使用して、メソッド set:
<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>
を出力します。リフレクションを使用して、インターフェイスに準拠する匿名構造体の Reflect.Type を取得します。 NumMethod() 関数は、インターフェイスによって定義されたメソッドの合計数を取得し、ループは各メソッドを反復処理してその名前を出力します。
コード スニペットを実行すると、次の出力が生成されます。
Search ListSearches ClearSearches
このメソッド セットの抽出手法は、実装型の知識がなくてもインターフェイスを動的に操作する必要がある場合に役立ちます。
以上がGolang でインターフェイスのメソッド セットを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。