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 中国語 Web サイトの他の関連記事を参照してください。