# 使用步骤 1. 运行 go run . setup 初始化项目 2. 按需到到 internal/app, internal/cmd/migrate.go 中初始化 ent 或其他组件 # 规范 ## 初始化规范 1. 所有需要初始化的组件,都需要单独放在 init.go 中,然后显示初始化。 2. 禁止在 main.go 中初始化任何组件。 3. 部分组件对初始化顺序有要求,禁止使用 init() 方法来初始化。 ## 组件存放 1. 所有组件都放在 internal/app 目录下,每个组件一个目录。 2. 组件所需要的文件可以放在 internal 下,比如 gin 需要路由定义。 ## 业务逻辑 1. 所有业务逻辑都放在 internal/services 目录下,每个业务一个目录,比如 user 部分就应该单独一个目录。 2. handlers/controller 每个业务一个目录。 3. controller 中不应该有业务逻辑,handlers/controller 只负责接收请求,然后调用 services 中的业务逻辑。 4. handlers/grpc 为 gRPC 的 handler,里面不处理业务逻辑,业务逻辑应在 services 中处理。