编译标签方式
- 例如:
// +build darwin freebsd netbsd openbsd
在源码头部放置条件编译标签,将限制文件仅能在BSD系统进行编译
- 当一个文件有多个编译标签,总的限制是单个限制的逻辑与,例如:
// +build linux darwin
// +build 386
限制只能在linux/386或darwin/386平台上编译
// +build !linux
package mypkg // correct
文件后缀方式
假如源文件使用_$GOOS.go方式的后缀,将在对应的平台上编译。
_$GOARCH_$GOOS.go
例如:
mypkg_freebsd_arm.go // only builds on freebsd/arm systems
mypkg_plan9.go // only builds on plan9