パッケージはその名のとおり一包みとして利用可能な単位であり、パッケージの中で利用されるコンポーネントの類は、typeを定義してtypeごとにファイルを分けるのが良い
松木 雅幸,mattn,藤原 俊一郎,中島 大一,上田 拓也,牧 大輔,鈴木 健太. 改訂2版 みんなのGo言語 (Japanese Edition) (Kindle の位置No.685-687). Kindle 版.
Goでプログラムを書く場合、1つのリポジトリ内に多数のパッケージが必要になることはあまりありません。多くのパッケージが必要だと感じてしまう場合、それはパッケージの分割方法を誤っているか、1つのパッケージで実装したいものが大きくなり過ぎている可能性が高そうです。単独のライブラリとしてほかのプロジェクトから使えるかどうかがパッケージを分割する判断基準になります。たとえば、ロガーパッケージをサブパッケージとして分割することは典型例といえるでしょう。
松木 雅幸,mattn,藤原 俊一郎,中島 大一,上田 拓也,牧 大輔,鈴木 健太. 改訂2版 みんなのGo言語 (Japanese Edition) (Kindle の位置No.687-692). Kindle 版.
