大家都见过用文件后缀来约束不同平台的编译,也可以使用 //go:build 命令来自定义,设置自己的文件后缀来约束编译,只需要在执行 go build 的时候加上一个 -tags 后缀名称
比如
main.go
package main
import "log"
func main() {
log.Println(GetType())
}
t_dev.go
//go:build dev
package main
func GetType() string {
return "dev"
}
t_pro.go
//go:build pro
package main
func GetType() string {
return "pro"
}
执行
go build -tags dev
./test
output:
dev
执行
go build -tags pro
./test
output:
pro