How to set package variable using -ldflags -X in Golang build

前端 未结 2 1421
伪装坚强ぢ
伪装坚强ぢ 2021-02-02 12:33

I am creating an app using Go 1.9.2 and I am trying to add a version string variable to it using the ldflags -X options during the build.

I\'ve managed to s

2条回答
  •  感情败类
    2021-02-02 13:12

    Quoting from doc of Command link:

    -X importpath.name=value
        Set the value of the string variable in importpath named name to value.
        Note that before Go 1.5 this option took two separate arguments.
        Now it takes one argument split on the first = sign.
    

    So it can be used for any package, not just for the main package. But you must specify the full import path, not just the package name.

    E.g. if your config package is located at $GOPATH/src/my/package/config, then use the following command:

    go build -ldflags "-X my/package/config.Version=1.0.0" -o $(MY_BIN) $(MY_SRC)
    

提交回复
热议问题