https://kazuhira-r.hatenablog.com/entry/2021/03/08/003752
記事や書籍などで、以下のような記述を見かけます。
$ go build -ldflags '-X main.xxxx=....'
この-ldflags
と-X
の指定でプログラム内の値を変えているようなのですが、「変えられます」という情報以外のことを
あまり見かけないので調べてみることにしました。
今回の環境は、こちらです。
$ go version
go version go1.16 linux/amd64
Go 1.16ですね。
Goのプロジェクトを作成。
$ go mod init sample
go: creating new go.mod: module sample
こんなプログラムを用意。
main.go
package main
import (
"fmt"
)
var (
Message = "Hello World!!"
)
func main() {
fmt.Printf("Message = %s\\n", Message)
}
ビルド。
$ go build
実行。