首頁 > 後端開發 > Golang > 如何列出 Go 套件中的所有匯出類型?

如何列出 Go 套件中的所有匯出類型?

Susan Sarandon
發布: 2024-12-18 00:45:10
原創
994 人瀏覽過

How Can I List All Exported Types Within a Go Package?

如何列出包中所有導出的類型

在 Go 中,包級類型可以透過首字母大寫來導出。這允許其他套件存取這些類型。但是,沒有內建函數可以直接列出套件中的所有匯出類型。

獲取此資訊的一種方法是使用 go/importer 套件。方法如下:

package main

import (
    "fmt"
    "go/importer"
    "go/pkg"
)

func main() {
    // Import the package you want to inspect
    pkg, err := importer.Default().Import("demo")
    if err != nil {
        fmt.Println("error:", err)
        return
    }

    // Iterate over the scopes and print the exported type names
    for _, declName := range pkg.Scope().Names() {
        fmt.Println(declName)
    }
}
登入後複製

importer.Default().Import() 方法將包路徑作為參數,並傳回一個表示有關包的資訊的包物件。 pkg.Scope() 方法傳回套件範圍,其中包含所有匯出和未匯出的類型、函數和變數。

注意:此方法可能無法在 Go Playground 中工作,因為環境的限制。

以上是如何列出 Go 套件中的所有匯出類型?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板