Golang Build で -ldflags -X を使用したパッケージ変数の設定
go build コマンドを使用して Go アプリケーションをビルドする場合、開発者はパッケージ変数を設定できます-ldflags -X オプションを使用します。この手法は、バージョン文字列、構成値、またはその他のメタデータをコンパイル済みバイナリに挿入するためによく使用されます。
ただし、メイン パッケージではなく特定のパッケージ内でパッケージ変数を設定できるかどうかという疑問が生じます。これを実現する方法は次のとおりです:
-X フラグのドキュメントには次のように明示されています:
-X importpath.name=value Set the value of the string variable in importpath named name to value.
これは、-X フラグがメインのパッケージだけでなく、任意のパッケージで使用できることを示しています。パッケージ。パッケージ変数を指定するには、完全なインポート パスを指定するだけです (コードでパッケージをインポートする方法と同様)。
たとえば、構成パッケージが $GOPATH/src/my/package にある場合/config で、次のコマンドを使用してそのパッケージ内の Version 変数を設定できます:
go build -ldflags "-X my/package/config.Version=1.0.0" -o $(MY_BIN) $(MY_SRC)
これにより、ビルド コマンドが実行された場合でも、config パッケージ内の Version 変数が設定されます。メインパッケージ内。
以上が`-ldflags -X` を使用して、メイン以外の Go パッケージにパッケージ変数を設定できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。