2016-07-18 13 views
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

答えて

関連する問題