首頁 > 後端開發 > Golang > 如何從 Go 程式碼中檢索模組版本?

如何從 Go 程式碼中檢索模組版本?

Mary-Kate Olsen
發布: 2024-11-01 19:53:30
原創
1166 人瀏覽過

How Can I Retrieve Module Versions from Code in Go?

從Go 中的程式碼擷取模組版本

在Go 中,執行時間/偵錯套件提供對程式依賴項和模組的詳細資訊的存取。此功能使您能夠從程式碼中檢索和顯示模組版本。

debug.ReadBuildInfo() 函數傳回一個 BuildInfo 結構,其中包含所有匯入的依賴項的清單。每個模組或依賴項都由 Module 結構體表示,其中包含以下欄位:

  • Path:模組的導入路徑。
  • Version:模組的版本。
  • Sum:模組程式碼的校驗和。
  • 替換:替換此模組的模組(如果有)。

要擷取並顯示模組版本,您可以使用以下程式碼this:

<code class="go">package main

import (
    "fmt"
    "log"
    "runtime/debug"
)

func main() {
    bi, ok := debug.ReadBuildInfo()
    if !ok {
        log.Printf("Failed to read build info")
        return
    }

    for _, dep := range bi.Deps {
        fmt.Printf("Module: %s, Version: %s\n", dep.Path, dep.Version)
    }
}</code>
登入後複製

此範例會將模組和依賴項資訊載入至BuildInfo 結構中,並迭代依賴項,列印出它們的路徑和版本。您可以修改此程式碼以按照您想要的格式顯示訊息,例如問題中的範例。

這種方法避免了使用 ldflags 在外部設定版本的需要。相反,它依賴 Go 本身提供的信息,使其成為管理模組版本的可靠且可擴展的解決方案。

以上是如何從 Go 程式碼中檢索模組版本?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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