從 Go 執行檔中擷取模組版本
在 Go 二進位執行檔中,Go 工具嵌入模組和相依性資訊。可以使用runtime/debug.ReadBuildInfo()函數存取此資訊。
問題
您需要顯示Go執行檔中使用的模組的版本,但你在實作過程中遇到了困難。您考慮過使用 ldflags,但它不可擴展。
解決方案
debug.ReadBuildInfo() 傳回debug.Module 實例的列表,它提供以下內容資訊:
程式碼範例
以下程式碼示範如何使用ReadBuildInfo()擷取模組版本:
<code class="go">package main import ( "fmt" "runtime/debug" ) func main() { bi, ok := debug.ReadBuildInfo() if !ok { // Handle failure } for _, dep := range bi.Deps { fmt.Printf("Dependency: %s, Version: %s\n", dep.Path, dep.Version) } }</code>
此範例將輸出可執行檔使用的所有相依性的路徑和版本。
以上是如何從 Go 可執行檔中提取模組版本?的詳細內容。更多資訊請關注PHP中文網其他相關文章!