6.4 Goプロジェクトのモジュール内のパッケージ構成

Goのプロジェクト構成に関する基礎知識と用語を整理しました。1プロジェクト=1モジュール=1パッケージであれば複雑ではありませんが、プログラムが複雑になってくるとプロジェクトを複数のパッケージに分離して開発を進めることになります。

Goのパッケージ構成について検索すると「Standard Go Project Layout」というサイトが見つかります。ですが、ここで紹介されている内容は必要以上に複雑であり、Goの生みの親の1人のRuss Coxも「これは標準ではない」とコメントしています。必要以上に複雑な構造を採用すると利用する手間が増えますし、メンテナンスの工数も増えます。とはいえ、開発者同士の共通知識やイディオムにある程度従えば、比較的簡単に利用できるようになるでしょう。

note

Standard Go Project Layout

https://github.com/golang-standards/project-layout/

Russ Coxのコメントは以下にあります。

https://github.com/golang-standards/project-layout/issues/117

ここでは、プロジェクト内部のパッケージをどのように構成していくべきかを考える材料を提供します。

6.4.1 最低限のパッケージ構成

Goのパッケージングにおける最低限のルールは次の2つです。

  • 同一フォルダ内のファイルは同一パッケージとなる ...