go build -ldflags
无法正常工作。在这种情况下,如何使用ldflags修改版本信息。
// main.go
package main
import (
. "./utils"
"fmt"
)
func main() {
fmt.Println("print info:")
VersionInfo()
}
// utils/version.go
package utils
import "fmt"
var (
Version = "1.0.0"
AuthorName = "fu"
BuildTime = "not set."
VersionId = "not set."
)
func VersionInfo() {
fmt.Printf("Version:%s\nAuthor: %s\n", Version, AuthorName)
fmt.Printf("BuildTime:%s\nBuildVersionId:%s\n\n", BuildTime, VersionId)
}
运行go build -ldflags "-X main.Version=11111"
后,编译成功。
但demo.exe
仍将使用默认版本信息。
λ demo.exe
print info:
Version:1.0.0
Author: fu
BuildTime:not set.
BuildVersionId:not set.
在这种情况下,如何使用ldflags修改版本信息。