9章モジュールとパッケージ

最近のほとんどのプログラミング言語は「ネームスペース」や「ライブラリ」を使ってコードを整理・統合するための仕組みを備えています。Goもその例外ではありません。ただし、ほかの機能同様、Goにおいては少し異なるアプローチが採用されています。

この章ではパッケージやモジュールを使ったコードの構成、サードパーティーのライブラリの利用法、そして独自のライブラリの作成方法を説明します。

9.1 リポジトリ、モジュール、パッケージ

Goのライブラリは(大きいほうから)「リポジトリ」「モジュール」「パッケージ」の3つの概念を使って管理されます†1リポジトリは開発者にはお馴染みでしょう。プロジェクトのソースコードが保存される場所で、バージョン管理コントロールシステム(VCS)が備わっています。モジュールはGoのライブラリあるいはアプリケーションのルート(root)になり、リポジトリに保存されます。モジュールは1個あるいは複数のパッケージから構成されます。

[†1] 訳注:このあたりの用語の使い方は言語によって異なり、パッケージのほうがモジュールよりも大きい(パッケージがモジュールを含む)言語もありますので、慣れるまでは混乱しないよう注意が必要です。Goではファイルの冒頭に「package ...」と書くので、パッケージが最小単位になると覚えられるでしょう。

[注記]

リポジトリに2個以上のモジュールを保存することはできますが、それは推奨されません。モジュール内のすべてが同じバージョンを付与されます。2つのモジュールをひとつのリポジトリで保守するということは、ひとつのリポジトリで2つの異なるプロジェクトのバージョンを管理することになります ...

Get 初めてのGo言語 ―他言語プログラマーのためのイディオマティックGo実践ガイド now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.