テック技報最新号へ →
コード

Go: golang-standards/project-layout より公式のモジュール構成ガイドを優先する

コミュニティの golang-standards/project-layout は「標準」ではない。Go 公式のモジュール構成ドキュメントに沿い、最初はシンプルな配置(go.mod 直下にパッケージ、必要になってから internal/ や cmd/)で始める方が混乱が少ない。

@haruyama480 · 投稿 2026-06-09
#go#module#layout#プロジェクト構成

どんな時に使う?

  • 新規モジュールのディレクトリを切るとき
  • /pkg /internal /cmd を最初から全部作るか迷ったとき
  • レビューで「標準レイアウトに合わせて」と言われたが、根拠がコミュニティリポジトリだけのとき

指針(要約)

  • 公式: go.dev/doc/modules/layout
  • 公開するライブラリは、インポートパスがそのまま使いやすい浅い構造を優先
  • アプリのエントリは必要なら cmd/<name>、外から触らせない実装は internal/
  • 「将来のため」の空ディレクトリや、使っていない層の追加は避ける

注意点

  • チーム内で既に project-layout 系の慣習があるなら、移行コストと相談する。
  • 公式ドキュメントの改訂に追従すること(日付時点の URL を確認)。

出典

X の元の投稿を開く