2017-08-28 11 views
4

私はGo言語を見ています。 私は質問があります。たとえば、新しいライブラリを作成します。これは、Windows用のGoパッケージとLinux用のGoパッケージのメソッドを使用する必要があります。LinuxとWindowsを別々にビルドする方法

私はただ質問していますが、ビルドプロセスを整理する便利な方法はありますか? もちろん、すべてのOS用にプロジェクトを作成し、各OSのインポート名を変更することができます。

答えて

5

ビルド制約とファイル名を使用します。 Package buildを参照してください。 Package osのソースコードには、多くの例があります:https://golang.org/src/os/。 Goソースコード:https://go.googlesource.com/goまたはhttps://github.com/golang/go

Unix用のビルドcontraint:

// +build darwin dragonfly freebsd linux nacl netbsd openbsd solaris 

いくつかのビルドファイル名:

stat_darwin.go  stat_linux.go stat_openbsd.go stat_unix.go 
stat_dragonfly.go stat_nacl.go stat_plan9.go stat_windows.go 
stat_freebsd.go stat_netbsd.go stat_solaris.go 

移動ツールと標準ライブラリの要件がより複雑になったとして、そのファイル名を構築し、使用して開始ビルドの制約を使い始めました。

関連する問題