外部パッケージ内の定義された型の検出
Go では、名前が大文字で始まる型定義がエクスポートされます。別のパッケージからこれらの型にアクセスするには、 go/importer パッケージを使用できます。
解決策:
package main import ( "fmt" "go/importer" demo "example.com/path/to/demo" // import the package containing the types ) func main() { pkg, err := importer.Default().Import("example.com/path/to/demo") if err != nil { fmt.Println("error:", err) return } // Get the names of all exported types in the package for _, declName := range pkg.Scope().Names() { fmt.Println(declName) } }
このコードは、次の出力を出力します。デモで定義されたエクスポートされた型の名前パッケージ:
People UserInfo
注: Go プレイグラウンドで go/importer を使用すると、エラーが発生する可能性があります。
以上が外部 Go パッケージからエクスポートされた型を検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。