Dev Study
Go コース

4. Go モジュール — go.mod による依存管理

現在の Go ではプロジェクトを「モジュール」という単位で管理します。プロジェクトのルートで go mod init モジュールパス と実行すると go.mod というファイルが作られ、ここにモジュール名・必要な Go のバージョン・依存するパッケージとそのバージョンが記録されます。モジュールパスには通常 github.com/ユーザー名/リポジトリ名 のような、配布先を表す文字列を使います。

外部パッケージを使いたいときは、コードで import してから go mod tidy を実行すると、必要な依存が go.mod に追加され、実際に使われた正確なバージョンが go.sum に記録されます。go.sum はチェックサムを保持していて、誰がビルドしても同じ中身の依存が使われることを保証します。これにより再現性のあるビルドができます。

go.mod と go.sum はどちらもリポジトリにコミットして共有します。これらは設定ファイルであり、それ単体で実行できるプログラムではないため、ここでは内容の例を示すだけにとどめます。

サンプルコード(フレームワーク環境が必要なため表示のみ)

// go.mod — モジュールの設定ファイル
module github.com/example/myapp

go 1.22

require (
    github.com/google/uuid v1.6.0
)

// よく使うコマンド:
//   go mod init github.com/example/myapp … go.mod を作る
//   go mod tidy                          … 依存を整理して go.mod/go.sum を更新
公式ドキュメントで詳しく ↗