golang编译后的可执行文件不打印fmt的方法/golang条件编译
go
package main
import (
"fmt"
)
var isDebug string = "debug"
func main() {
fmt.Println("isDebug ", isDebug)
if isDebug == "debug" {
fmt.Println("Debug information")
}
}
编译命令
shell
# 允许fmt.Println
go build -ldflags="-X main.isDebug=debug" main.go
# 不允许fmt.Println
go build -ldflags="-X main.isDebug=其他字符" main.go
- -X 控制的必须是变量,常量不可,
- -X 控制的变量只能是 string