ホームページ > バックエンド開発 > Golang > Go のコードからモジュールのバージョンを取得するにはどうすればよいですか?

Go のコードからモジュールのバージョンを取得するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-01 19:53:30
オリジナル
1164 人が閲覧しました

How Can I Retrieve Module Versions from Code in Go?

Go のコードからモジュールのバージョンを取得する

Go では、ランタイム/デバッグ パッケージを使用して、プログラムの依存関係とモジュールに関する詳細情報にアクセスできます。 。この機能を使用すると、コード内からモジュールのバージョンを取得して表示できます。

debug.ReadBuildInfo() 関数は、インポートされたすべての依存関係のリストを含む BuildInfo 構造体を返します。各モジュールまたは依存関係は、次のフィールドを含むモジュール構造体によって表されます。

  • Path: モジュールのインポート パス。
  • Version: モジュールのバージョン。
  • Sum: モジュールのコードのチェックサム。
  • Replace: これを置き換えるモジュール (存在する場合)。

モジュールのバージョンを取得して表示するには、次のようなコードを使用できます。 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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート