golang 构建标签(go:build)条件编译
//go:build 是 Go 语言(golang)中的一种构建标签(build tag),用于控制源代码文件在特定条件下是否被编译。
这个注释标记允许你在同一个包内编写针对不同平台、操作系统或编译条件的代码。当 go build 或 go test 等命令执行时,它们会检查这些标签来决定哪些文件应该包含在构建过程中。
//go:build linux,amd64 package main import "fmt" func main() { fmt.Println("This code only runs on Linux AMD64.") }
这段代码只会当目标平台是 Linux amd64 的时候被编译和执行。如果目标是其他平台,这个文件将被忽略。
请注意,//go:build 替代了早期版本 Go 中的 // +build,在 Go 1.17 及以后的版本中推荐使用 //go:build。
Go1.19 新增了支持 `go:build unix`。