Heim >Backend-Entwicklung >Golang >Wie kann ich exportierte Typen aus externen Go-Paketen erkennen?

Wie kann ich exportierte Typen aus externen Go-Paketen erkennen?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-30 05:40:09345Durchsuche

How Can I Discover Exported Types from External Go Packages?

Definierte Typen in externen Paketen entdecken

In Go werden Typdefinitionen exportiert, wenn ihre Namen mit Großbuchstaben beginnen. Um von einem anderen Paket aus auf diese Typen zuzugreifen, können Sie das Paket go/importer verwenden.

Lösung:

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)
    }
}

Dieser Code gibt die folgende Ausgabe aus, die Folgendes auflistet die Namen der exportierten Typen, die im Demopaket definiert sind:

People
UserInfo

Hinweis: Using go/importer auf dem Go Playground kann zu einem Fehler führen.

Das obige ist der detaillierte Inhalt vonWie kann ich exportierte Typen aus externen Go-Paketen erkennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn