Go の大きな強みの1つが「クロスコンパイル」です。
1台のPCからWindows・Linux・macOS向けの実行ファイルを簡単に生成できるため、実務運用で非常に重宝されます。
本記事では、Goクロスコンパイルの方法を「基本・実装・実務運用」まで初心者向けに解説します。
クロスコンパイルとは?
クロスコンパイルとは👇
👉 別OS向けの実行ファイルを生成する技術
Goが強い理由
特徴👇
- 単一コマンド
- 環境構築が簡単
- 高速ビルド
- Dockerとの相性抜群
👉 DevOpsで超強力
基本のbuild
go build
Windows向けビルド
GOOS=windows GOARCH=amd64 go build
Linux向けビルド
GOOS=linux GOARCH=amd64 go build
macOS向けビルド
GOOS=darwin GOARCH=amd64 go build
ARM対応
GOARCH=arm64
👉 Apple Silicon対応
出力ファイル名指定
go build -o app.exe
よく使うGOOS
| OS | GOOS |
|---|---|
| Windows | windows |
| Linux | linux |
| macOS | darwin |
よく使うGOARCH
| CPU | GOARCH |
|---|---|
| Intel 64bit | amd64 |
| ARM | arm64 |
Makefile運用
build:
GOOS=linux GOARCH=amd64 go build
実務で重要なポイント
✔ CGO注意
CGO_ENABLED=0
👉 静的リンク推奨
✔ Docker連携
Docker
FROM golang:1.24
✔ CI/CD自動化
go build ./...
実務での応用
- CLIツール配布
- APIサーバー
- SaaS運用
- IoTデバイス
よくある失敗
❌ GOOS指定ミス
❌ CGO依存問題
❌ arm64未対応
ベストプラクティス
- CGO無効化
- CI/CD化
- Makefile管理
- Docker統合
💡 結論
👉
「Goクロスコンパイル=最強の配布力」


コメント