| この記事の要点 |
|---|
|
Go の開発作業は、go コマンドという単一のツールを通して行う。依存パッケージの管理、ビルド、テスト、コード生成まで、ほとんどの操作が go サブコマンド という形にまとまっているのが特徴である。このページでは、よく使う Go のコマンドを役割ごとに一覧し、それぞれの詳しい使い方は個別記事へ案内する。
まずは全体像をつかむため、代表的なコマンドを表にまとめる。詳細リンクがあるものは、構文・オプション・具体例をそのリンク先で個別に解説している。
主要コマンド一覧
| 分類 | コマンド | 概要 | 詳細 |
|---|---|---|---|
| モジュール | go mod init |
新しいモジュールを作成し、依存情報を管理する go.mod ファイルを生成する。 |
go mod init |
| モジュール | go mod tidy |
ソースを走査し、不足する依存の追加と不要な依存の削除を行って go.mod / go.sum を整える。 |
go mod tidy |
| モジュール | go mod download |
go.mod に記載された依存モジュールをローカルのキャッシュへダウンロードする。 |
go mod download |
| ビルド | go build |
パッケージをコンパイルして実行可能ファイルを生成する。配布や本番デプロイ用のバイナリ作成に使う。 | go build |
| ビルド | go run |
バイナリを残さずにソースをコンパイルしてその場で実行する。動作確認や小さな試作に向く。 | — |
| テスト | go test |
_test.go ファイルのテスト関数を実行する。ベンチマークやカバレッジ計測にも対応する。 |
— |
| 概念 | package |
コマンドではなく、Go のコードをまとめる単位を表すキーワード。各ファイル先頭の package 名 宣言で所属を示す。 |
go package |
| コード生成 | protoc |
Protocol Buffers の定義から Go のコードを生成する外部コンパイラ。go generate と組み合わせて使うことが多い。 |
protoc |
なお go run と go test は Go 開発で日常的に使う基本コマンドのため概要のみ掲載している。表の protoc は go のサブコマンドではなく外部ツールだが、Go のコード生成でよく登場するため一覧に含めた。
go modules 関連のコマンド
Go の依存管理は モジュール(modules) という仕組みで行う。プロジェクトのルートに置く go.mod がモジュール名と依存ライブラリ・バージョンを記録し、go.sum が各依存の検証用ハッシュを保持する。これらを操作するのが go mod 系のサブコマンドである。
|
# 新規モジュールを作る(go.mod を生成) go mod init example.com/myapp
# 依存を整理する(不足を追加・不要を削除) go mod tidy
# 依存モジュールをキャッシュへ取得する go mod download |
おおまかな流れとしては、最初に go mod init でモジュールを作成し、開発を進めながら go mod tidy で依存を整える、という使い方が基本になる。go mod download は、CI やコンテナのビルドなどであらかじめ依存を取得しておきたい場面で使うことが多い。それぞれの細かいオプションや挙動は上表の各詳細リンクを参照してほしい。
ビルド・実行・コード生成のコマンド
ソースを動かす段階では、用途に応じて go build と go run を使い分ける。
|
# 実行可能ファイルを生成する go build
# ビルドせずにその場で実行する go run main.go
# テストを実行する go test ./... |
配布や本番に置くバイナリが必要なら go build、手元での動作確認なら go run、品質確認には go test という対応になる。go build の出力先指定やビルドオプションは詳細記事で扱う。
コード生成では、go generate がソース内のコメントに書いた生成コマンドをまとめて実行する仕組みを提供する。代表例が Protocol Buffers で、.proto 定義から Go の型を作る際に外部コンパイラ protoc を呼び出す。
|
# .proto から Go コードを生成する(例) protoc --go_out=. ./api/service.proto |
生成系は別途プラグインのインストールが必要になるなど準備があるため、具体的な手順は protoc の記事で解説する。Go のコードを package 単位でどう構成するかについては go package を参照するとよい。
よくある質問(FAQ)
Q. go build と go run は何が違いますか?
A. go build は実行可能ファイル(バイナリ)を生成して残すのに対し、go run はバイナリを残さずにその場でコンパイルして実行します。配布や本番デプロイには go build、手元での動作確認や試作には go run が向いています。詳しくは go build を参照してください。
Q. 利用できるコマンドの一覧はどこで確認できますか?
A. 端末で go help を実行すると、利用できるサブコマンドの一覧が表示されます。個別のコマンドについては go help build のように続けて指定すると、そのコマンドの説明が確認できます。コマンドの種類や挙動は Go のバージョンによって差があるため、利用している環境の公式ドキュメントも併せて確認してください。
- エラー一覧
- コマンド・ディレクティブ一覧
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスのソフト一覧|Blender・Metasequoiaと用途別の選び方
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Visual Studio「デザイナーを表示できません」エラーの原因と対処 2026-10-28 12:06:00
- SSH 認証に失敗しました。再試行してください の対処 2026-10-28 12:06:00
- SSH2 秘密鍵の読み込みに失敗しました の原因と対処 2026-10-28 12:06:00
- TeraTerm のよくあるエラーと対処法完全ガイド — Connection refused / 2026-10-28 12:06:00
- Visual Studio エラー一覧|コンパイルエラー・警告の確認方法と対処 2026-10-28 11:39:57
- Whitelabel Error Page の原因と消し方|Spring Boot のエラーページ 2026-10-28 11:39:57
- Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法 2026-10-28 11:39:57
- SQL WHERE 句完全ガイド 2026-10-28 11:39:57
- SQL JOIN 完全ガイド (INNER/LEFT/RIGHT/FULL OUTER) 2026-10-28 11:39:57
- tomcat の起動 / 停止ログと catalina.log・catalina.out の違い 2026-10-28 10:24:23
- Tomcat の起動確認方法 5 つ|localhost:8080・ポート・プロセス・ログ 2026-10-28 10:24:23
- Oracle 19c COMMITの使い方: 暗黙コミット・自動確定・応答不明時の確認 2026-10-28 09:59:09
- Oracle 19c DELETE文|削除対象の確認・COMMIT前の判断・ROLLBACKの条件 2026-10-28 09:59:09
- Oracle 19c INSERT文|INSERT ALL・SELECT・RETURNINGとMERGEの使い分け 2026-10-28 09:59:09
- Oracle 19cのトランザクション制御|COMMIT・ROLLBACK・分離レベルと接続設定 2026-10-28 09:59:09