プロジェクト構造とガイドライン
私のポストを読むと、最小限のGo Webサービスの出発点を持つべきです.最初のプロジェクトでは、プロジェクトのベースにあるすべてのコードを1つのフォルダーに保存するのは簡単ですが、いくつかの時点で再構築する必要があります.
パッケージ
すべてのGOコードはパッケージに編成されます、そして、それは単に数から成ります.ファイルを移動します.パッケージはGOコードにアクセスするエントリポイントです.
A .できるだけ多くのファイルにあなたのコードを分離すること自由に感じなさい.
それはあなたの周りの道をナビゲートするのは簡単です
C .緩急カップルサービスのセクションまたはアプリケーション
コアの型をファイルの先頭にグループ化しておくことはよくあります.
他の言語では、モデルやタイプによって型を編成しますが、goでは、関数の責任によってコードを整理します.
GoDocはGoプログラムを抽出して生成するドキュメントです.これはWebサーバーとして実行し、Webページとしてドキュメントを紹介します.
import (
gourl "net/url"
myurl "myApp/url"
)
リポジトリ構造例:*`` fooApp/
サークル.気象研
Dockerfile
CMD
FACSRV
メイン.試み
フックロ
メイン.試み
PKG
FS
ファイル.試み
テスト.試み
模擬.試み
モッケンテスト試み
マージ
マージ.試み
メルゲイトテスト.試み
API
API.試み
アピワンテスト.試み
「
あなたが気づいたように、機能的なテストがあります.ファイルを同じディレクトリに移動します.Goでは、単位でテストを保存します.行け.goこれらのファイルを実行し、テストを実行するボックスのテストコマンドを実行します.
パッケージ構造で使用する一般用語
このフォルダには、プロジェクトの主なアプリケーションエントリポイントファイルが含まれ、ディレクトリ名にはバイナリの名前が一致します.
このフォルダには、他のサービスを消費するのに最適なコードが含まれます.これはAPIクライアント、または他のプロジェクトに便利であるかもしれませんが、独自のプロジェクトを正当化しないユーティリティ関数を含むことができます.
このパッケージは、サービスで使用されるプライベートライブラリコードを保持しており、サービスの機能に固有であり、他のサービスと共有されません.
どうぞ.mod fileはモジュールのモジュールパスを定義します.これは、ルートディレクトリ用のインポートパスであり、依存関係の要件です.
「
├── 許可
├── READMEMD
├── 設定.試み
├── 行け.mod
├── 行け.合計
├── clientlib
│ ├── リブ.試み
│ └── libountテスト.試み
├── CMD
│ ├── クライアント
│ │ └── メイン.試み
│ └── modlibサーバ
│ └── メイン.試み
├── 内部
│ └── 認証
│ ├── Auth試み
│ └── 認証テスト.試み
└── serverlib
└── リブ.試み
「
ありがとう
Reference
この問題について(プロジェクト構造とガイドライン), 我々は、より多くの情報をここで見つけました https://dev.to/jinxankit/go-project-structure-and-guidelines-4ccmテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol