ホームページ  >  記事  >  バックエンド開発  >  golang ディレクトリの設定

golang ディレクトリの設定

WBOY
WBOYオリジナル
2023-05-22 16:08:07655ブラウズ

Golang は、ネットワーク サービス開発、同時実行性の高いアプリケーション、クラウド サービスに広く使用されているオープン ソース プログラミング言語です。 golang でプロジェクトを作成する場合、適切なディレクトリ構造を使用すると、プロジェクトがより明確になり、保守が容易になります。今日は、golang のディレクトリ構造の設定について説明します。

  1. 機能による分割

機能モジュールによるプロジェクトの分割は、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

上記の構造では、関数に従って cmdpkginternal に分割します。プロジェクトのモジュール。3 つの部分:

  • cmd ディレクトリには、サーバー プログラム server やクライアント プログラム # など、直接実行できるコマンド ライン ツールが保存されます。 ## クライアント###。
  • pkg
  • ディレクトリには、プロジェクトのビジネス ロジック コードが保存されます。このコードは、user モジュールや util# などの機能モジュールに従って分割されています。 ## モジュール。 internal
  • プロジェクトの内部コードはディレクトリに保存されます。これはプロジェクト内でのみ使用され、外部パッケージでは使用されません。
  • pkg
ディレクトリと

internal ディレクトリの機能は似ていますが、その違いは pkg## コードであることに注意してください。 # ディレクトリ内のコードは外部パッケージで使用できますが、internal ディレクトリ内のコードはこのプロジェクトでのみ使用できます。 コードの種類に応じて分割する

    コードを種類に応じて分割することは、golang ディレクトリ構造を設定するもう 1 つの一般的な方法です。具体的な方法は、プロジェクトのルート ディレクトリに複数のサブディレクトリを作成し、各サブディレクトリがコード タイプに対応するようにすることです。たとえば、次の例では、
  1. myproject/
    ├── cmd/
    │   ├── main.go
    ├── pkg/
    │   ├── http/
    │   │   ├── server.go
    │   │   ├── router.go
    │   ├── database/
    │   │   ├── db.go
    │   ├── log/
    │   │   ├── log.go
    ├── vendor/
    ├── go.mod
    ├── go.sum
  2. 上記の構造では、
cmd

pkg

vendor## の 3 つのタイプに分割されます。 # コードの種類に応じて 部分: cmd ディレクトリには、

main.go
    などの実行可能プログラムのエントリ ファイルが含まれています。
  • pkg ディレクトリは、コードの種類に応じて分割されており、たとえば、HTTP 関連のコードは http
  • ディレクトリに、データベース関連のコードは、
  • データベース ディレクトリなど。 vendorこのディレクトリには、プロジェクトが依存するサードパーティのパッケージが保存されます。
  • このコードの種類ごとに分割する方法は、機能ごとに分割する方法に比べて柔軟性が高くなりますが、ディレクトリ構造が深くなり、コードの場所を見つけるのに時間がかかる場合があります。
  • MVC パターンに従って分割する

ほとんどの Web フレームワークは MVC (Model-View-Controller) パターンを採用しており、それに応じてプログラムを分割することも非常に簡単です。 golang のディレクトリ構造を設定する一般的な方法。たとえば、次の例は次のとおりです。
    myproject/
    ├── cmd/
    │   ├── main.go
    ├── pkg/
    │   ├── models/
    │   │   ├── user.go
    │   ├── views/
    │   │   ├── index.gohtml
    │   ├── controllers/
    │   │   ├── user.go
    ├── vendor/
    ├── go.mod
    ├── go.sum
  1. 上記の構造では、
  2. models

views

、および

controllers の 3 つの部分に分割されています。 MVC パターンに基づいた部分: models モデル層のコードはディレクトリに保存されており、通常はデータベースを扱うコードです。

  • viewsビュー レイヤー コードは、通常は Web ページ テンプレートなどのディレクトリに保存されます。
  • controllersディレクトリには、モデル層とビュー層の接続を担うコントローラー層のコードが保存されます。
  • MVC パターンに従って分割するこの方法により、コードがより整理され、保守が容易になります。 要約すると、golang でディレクトリを設定する方法はたくさんあり、プロジェクトごとに適した方法が異なります。必要に応じて、対応するディレクトリ設定方法を選択できます。

以上がgolang ディレクトリの設定の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。