ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|---|
|
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=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
- エラー一覧
- コマンド・ディレクティブ一覧
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?