如何在进行交叉编译时切换/选择要使用的代码

时间:2016-07-18 14:34:38

标签: go cross-compiling

我正在使用+build标记来定义基于体系结构编译的内容。

对于仅在UNIX / BSD上运行的代码,我使用:

// +build freebsd netbsd openbsd dragonfly darwin 
// +build amd64

对于Linux我有:

// +build linux

包含源代码的文件的名称如下:

watchpid.go
watchpid_linux.go

文件包含相同的方法签名但方法不同。

func watchPid() {
  // kqueue for UNIX, BSD
  // for loop cross-platform version (linux)
}

如果我想在Mac OS X上测试/编译linux版本,是否有一个简单的切换/技巧来代替编辑+build标签或重命名文件?