Go で名前による構造体メソッドの呼び出し
クエリは、名前を指定して Go 構造体のメソッドを呼び出すことに関係します。提供されている MethodByName() 関数とは異なり、OP はより直接的なアプローチを想定しています。
リクエストの実装
これを実現するには、次の手順を利用します。
実装例:
package main import "fmt" import "reflect" type MyStruct struct {} func (p *MyStruct) MyMethod() { fmt.Println("My statement") } func main() { var s MyStruct reflect.ValueOf(&s).MethodByName("MyMethod").Call(nil) }
出力:
My statement
注: MethodByName () 関数は、メソッドの名前を表す文字列引数を受け取ります。
以上がリフレクションを使用して Go Struct メソッドを名前で呼び出すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。