次のタスクを考えてみましょう。
type t1 struct { i int; s string }
インスタンス化せずに t1 の Reflect.Type を取得するにはどうすればよいですか?
はい、可能です:
var v1 reflect.Type = reflect.TypeOf((*t1)(nil)).Elem()
reflect.TypeOf を使用して、t1 型の nil 構造体へのポインタの Reflect.Type を取得できます。次に、Elem を使用して、基になる構造体の型を取得します。
残念ながら、そうではありません。 Go は現在のバイナリ内の型のマップを維持しないため、文字列から型を取得することは非現実的です。カスタム タイプ レジストリ パッケージを作成することは可能ですが、匿名タイプと名前の衝突により不完全になり、曖昧になる可能性があります。
以上がGo で文字列名から `reflect.Type` を取得できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。