2
+build
タグを使用して、アーキテクチャに基づいてコンパイルするものを定義しています。クロスコンパイル中にどのコードを切り替えるか選択する方法
// +build freebsd netbsd openbsd dragonfly darwin
// +build amd64
そして、私が持っているLinux用:だけ私はこれを使用するUNIX/BSD上で実行されるコードについては
// +build linux
ソースコードを含むファイルの名前は、このようなものです:
watchpid.go
watchpid_linux.go
ファイルには同じメソッドシグネチャが含まれていますが、アプローチは異なります。場合
func watchPid() {
// kqueue for UNIX, BSD
// for loop cross-platform version (linux)
}
私は、たとえばのMac OS X上のLinuxバージョンをコンパイル/テストしたいと思い、代わりに+build
タグを編集したり、ファイルの名前を変更するのにそれを行うための簡単なスイッチ/トリックはありますか?使用GOOS=linux go build
チェックアウトhttps://golang.org/cmd/go/#hdr-Environment_variables