Maison >développement back-end >Golang >Comment puis-je découvrir les types exportés à partir de packages Go externes ?

Comment puis-je découvrir les types exportés à partir de packages Go externes ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-30 05:40:09353parcourir

How Can I Discover Exported Types from External Go Packages?

Découverte de types définis dans des packages externes

Dans Go, les définitions de types sont exportées lorsque leurs noms commencent par des lettres majuscules. Pour accéder à ces types à partir d'un autre package, vous pouvez utiliser le package go/importer.

Solution :

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

Ce code imprimera la sortie suivante, qui répertorie les noms des types exportés définis dans le package de démonstration :

People
UserInfo

Remarque : Utilisation de go/importer sur le Go Playground peut entraîner une erreur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn