大家都见过用文件后缀来约束不同平台的编译,也可以使用 //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