見出し画像

Modules and Packages | Go日記: 『Learning Go』

 『Learning Go』読書記録。Chapter 9. Modules, Packages, and Imports

Repositories > Modules > Packages

Go ではリポジトリが大枠で、ここでバージョンその他が管理されている。

モジュールは Go のライブラリもしくはアプリケーションのルートであり、リポジトリに含まれる。

モジュールは1つ以上のパッケージを含む。

以上が Go の構成概念。

Note: ひとつのリポジトリで複数のモジュールを管理するのはおすすめしない。バージョン管理がぐちゃぐちゃになる。

***

個人的余談。Python ではコードが書き込んであるファイルをモジュールと呼び、モジュールが集まって構成されたものをライブラリーと呼ぶ習慣がある。Go を勉強し始める前は Python を主に書いていたので、Go での用語とその意味の組み合わせが頭の中でごっちゃになってしまった。新しい言語を学ぶときは基本的な用語や概念の確認を怠ってはいけないな、と改めて思った。

go.mod

モジュールにはユニークな名前をつける。github.com/uname/project-name

この辺のことは以前にも note に書いた。

モジュールのルート・ディレクトリに go.mod ファイルを置いてソースコードを管理する。手作業での go.mod 作成は避け、コマンドを使う。

go mod init MODULE_PATH

MODULE_PATH の部分はモジュールの名前を代入する。

The module path is case-sensitive. To reduce confusion, do not use uppercase letters within it.

Bodner, Jon. Learning Go (p.264). O'Reilly Media. Kindle 版.

SN

この記事が気に入ったらサポートをしてみませんか?