Golang は、ネットワーク サービス開発、同時実行性の高いアプリケーション、クラウド サービスに広く使用されているオープン ソース プログラミング言語です。 golang でプロジェクトを作成する場合、適切なディレクトリ構造を使用すると、プロジェクトがより明確になり、保守が容易になります。今日は、golang のディレクトリ構造の設定について説明します。
機能モジュールによるプロジェクトの分割は、golang の一般的なディレクトリ構造の設定です。具体的な方法は、プロジェクトのルート ディレクトリに複数のサブディレクトリを作成し、各サブディレクトリが機能モジュールに対応するようにすることです。たとえば、次の例:
myproject/ ├── cmd/ │ ├── server/ │ │ ├── main.go │ ├── client/ │ │ ├── main.go ├── pkg/ │ ├── user/ │ │ ├── user.go │ ├── util/ │ │ ├── util.go ├── internal/ │ ├── auth/ │ │ ├── auth.go │ ├── db/ │ │ ├── db.go ├── vendor/ ├── go.mod ├── go.sum
上記の構造では、関数に従って cmd
、pkg
、internal
に分割します。プロジェクトのモジュール。3 つの部分:
cmd
ディレクトリには、サーバー プログラム server
やクライアント プログラム # など、直接実行できるコマンド ライン ツールが保存されます。 ## クライアント###。
user
モジュールや util# などの機能モジュールに従って分割されています。 ## モジュール。
internal
internal ディレクトリの機能は似ていますが、その違いは
pkg## コードであることに注意してください。 # ディレクトリ内のコードは外部パッケージで使用できますが、internal
ディレクトリ内のコードはこのプロジェクトでのみ使用できます。 コードの種類に応じて分割する
myproject/ ├── cmd/ │ ├── main.go ├── pkg/ │ ├── http/ │ │ ├── server.go │ │ ├── router.go │ ├── database/ │ │ ├── db.go │ ├── log/ │ │ ├── log.go ├── vendor/ ├── go.mod ├── go.sum
、
pkg、vendor## の 3 つのタイプに分割されます。 # コードの種類に応じて 部分:
cmd
ディレクトリには、
pkg ディレクトリは、コードの種類に応じて分割されており、たとえば、HTTP 関連のコードは
http ディレクトリなど。
vendorこのディレクトリには、プロジェクトが依存するサードパーティのパッケージが保存されます。
myproject/ ├── cmd/ │ ├── main.go ├── pkg/ │ ├── models/ │ │ ├── user.go │ ├── views/ │ │ ├── index.gohtml │ ├── controllers/ │ │ ├── user.go ├── vendor/ ├── go.mod ├── go.sum
views
、およびcontrollers の 3 つの部分に分割されています。 MVC パターンに基づいた部分:
models
モデル層のコードはディレクトリに保存されており、通常はデータベースを扱うコードです。
ビュー レイヤー コードは、通常は Web ページ テンプレートなどのディレクトリに保存されます。
ディレクトリには、モデル層とビュー層の接続を担うコントローラー層のコードが保存されます。
要約すると、golang でディレクトリを設定する方法はたくさんあり、プロジェクトごとに適した方法が異なります。必要に応じて、対応するディレクトリ設定方法を選択できます。 以上がgolang ディレクトリの設定の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。