1、修改string类型变量

这种很常见利用-ldflags即可,例如设置版本号:

正常编译:

go build  xxx/code/server

编译时加入版本号:

go build -ldflags '-X code/util.VERSION=xxx-xxx_Vxxx' xxx/code/server

 

2、修改int类型变量

可以利用编译标签-tags,例如有个变量x,在正式版本时默认是0,调试版本时设置为1.

创建两个文件:

release.go:

//+build !debug

package public

const (
    x=1
)

debug.go:

//+build debug

package public

const (
    x=0
)

编译命令:

go build -tags "debug" -ldflags '-X code/util.VERSION=xxx-xxx_Vxxx' xxx/code/server

默认的是编译release版本。

如果有更好方法望告知!!!