コードリポジトリ
プロジェクトの作成
まずディレクトリを作成し、そのディレクトリで以下のコマンドを実行します。
1  | go mod init quick-start  | 
ディレクトリ構造
一般的なWebプロジェクトはMVC構造を採用しています。Mはモデル、Vはビュー、Cはコントローラーです。
- Model(モデル)
アプリケーションの核心データとビジネスロジックを管理します。
データベースまたは他のデータソースとのやり取りを行い、データのCRUD操作を処理します。
データに変更があった場合、Viewに更新を通知します。 - View(ビュー)
ユーザーインターフェースの表示を担当し、通常はModelのデータに基づいてレンダリングされます。
ユーザーはViewを通じてアプリケーションと対話できます。
ViewはModelの変化を監視し、自動的に表示を更新します。 - Controller(コントローラー)
ユーザーの入力(例えばボタンをクリック、フォームの送信など)を受け取り、ModelとViewの間のやり取りを調整します。
ユーザーのアクションに応じてModelの方法を呼び出したり、Viewの状態を更新したりします。
コントローラーはModelとViewの間の架け橋となります。 
そのため、一般的なディレクトリ構造は以下のようになります。
models/controllers/middleware
modelsにはモデルファイル、controllersにはコントローラーファイル、middlewareにはミドルウェアファイルが格納されています。
一方、viewsは通常フロントエンドプロジェクトとして別途開発されます。
1  | - common/ または utils/  | 
データベース
私たちはGORMフレームワークを使用してデータベースを操作します。
データベーステーブルの作成
GORMはデータベーステーブル構造を自動生成することをサポートしています。モデル構造体を定義し、GORMのコードを使用して生成するだけです。
まずはデータベースに接続します。ここでは便利なため、SQLiteを使用します。
1  | // initializers/loadEnv.go  | 
データベースなどの設定は、.envファイルに保存します。
1  | # Web実行ポート  | 
Go言語で.envファイルを読み込む方法は以下の通りです。
1  | // initializers/loadEnv.go  | 
対応するデータベーステーブルのモデルを宣言します。
1  | // models/user.go  | 
1  | // models/post.go  | 
コードでデータベーステーブルを生成します。
1  | // migrate/migrate.go  | 
ユーザー情報テーブル
増減改査
ユーザー情報の基本操作を実現します:追加、削除、変更、および検索。
1  | // user_test.go  | 
パスワード暗号化
ユーザー情報の安全性を確保するため、ユーザーのパスワードを暗号化処理する必要があります。
1  | import (  | 
JWTトークンの作成
JWT(JSON Web Token)は、ネットワークアプリケーション間でセキュアに情報を伝達するためのオープンスタンダードです。JWTトークンを作成することで、ユーザー認証を実現します。
1  | import (  | 
テストの実施
投稿情報テーブル
増減改査
投稿情報の基本操作を実現します:追加、削除、変更、および検索。
1  | // /post_test.go  | 
ネットワークインターフェース
ルートの定義
RESTfulスタイルのAPI:
| HTTP メソッド | 操作タイプ | 例 | 
|---|---|---|
| GET | リソースの取得 | ユーザーリストを取得 /api/users | 
| POST | リソースの作成 | 新規ユーザーを作成 /api/users | 
| PUT | リソースの更新 | 指定ユーザーを更新 /api/users/{id} | 
| DELETE | リソースの削除 | 指定ユーザーを削除 /api/users/{id} | 
1  | // /main.go  | 
ログインと登録
ユーザーのログインと登録機能を実装します。これには、認証とアカウント作成が含まれます。
1  | // controllers/user.go  | 
投稿情報インターフェース
投稿情報の取得、投稿、更新、削除のためのAPIインターフェースを提供します。
1  | // controllers/post.go  | 
認証とクロスドメインミドルウェア
認証ミドルウェアは、ユーザーの身分を確認するために使用され、特定のリソースにアクセスできるのは承認されたユーザーだけであることを保証します。
クロスドメインミドルウェアは、クロスドメインリクエストの問題を解決するために使用され、異なるドメインからのリクエストがサーバーリソースにアクセスできるようにします。
1  | // middleware/auth.go  | 
1  | // middleware/cors.go  | 
APIfoxを使用したテスト
APIfoxはインターフェーステストツールです。
apifox
このケースのインターフェースはすでに共有しています:
インターフェースドキュメント
現在比較的成熟している二次開発フレームワーク
今のところよくわかっていませんが、他の人の回答を見てみてください。
リンク
コミュニティ
これらのプラットフォームで私に連絡することができます:
- bili: 剛子哥forever
 - QQグループ: 940263820
 - gitee: gitee
 - ブログ: malcode-site
 - メールアドレス: malguy2022@163.com
 - 知乎: 楽妙善哉居士
 - CSDN: 飛鳥malred