Go で Linux と Windows で異なるビルドを行う
オペレーティング システムごとに異なるパッケージを利用するライブラリを開発する場合、整理するのが難しい場合があります。ビルドプロセス。 OS ごとに個別のプロジェクトを作成し、インポート名を手動で調整することもできますが、より効率的なアプローチがあります。
ビルド制約とファイル名の使用
Go 言語特定のオペレーティング システムのビルドを区別するためのビルド制約とファイル名が提供されます。
ビルド制約
ビルド制約は、コードの一部が実行されるべき条件を指定するディレクティブです。コンパイルに含めるか、コンパイルから除外します。たとえば、Unix システムのビルド制約は次のとおりです。
// +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
実装
Go ツールと標準ライブラリは当初、ビルド制御にファイル名を使用していました。要件がより複雑になるにつれて、ビルド制約が推奨される方法になりました。
ビルド制約とファイル名を活用することで、Linux および Windows オペレーティング システム用に異なるパッケージを使用する必要があるライブラリのビルド プロセスを効率的に管理できます。
以上がGo で Linux 用と Windows 用のビルドを区別するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。