作用: 存放编译后的应用程序二进制文件,准备好进行生产环境的部署。
用途: 你会把 Go 项目编译后生成的可执行文件放在这里,方便部署到生产服务器。
作用: 存放与应用程序相关的代码,特别是与 API 服务器的启动和运行相关的部分。
用途: 包括运行 HTTP 服务器、处理请求与响应、管理认证等代码。是应用的入口,负责配置和启动 API 服务器。
作用: 存放与应用程序业务相关但可重用的辅助包。
用途: 包含与数据库交互、数据验证、发送邮件等功能相关的代码。这些代码不是直接与 API 相关,但可以在不同的服务或应用中重用。internal 目录中的代码仅能被本项目内的其他包导入,不能被外部项目使用。
作用: 存放与数据库迁移相关的 SQL 文件。
用途: 包含数据库结构变化的脚本,例如表的创建、字段修改、索引添加等。迁移文件帮助在开发和生产环境中同步数据库的变化。
作用: 存放生产服务器的配置文件和设置脚本。
用途: 包含与生产环境服务器配置相关的内容,比如服务器初始化脚本、环境配置文件等。可以包括像 Docker 配置、CI/CD 配置等。
作用: 声明 Go 项目的依赖项、版本和模块路径。
用途: Go 语言的模块化管理文件,记录了项目依赖的外部包以及它们的版本号,帮助 go 工具在构建时自动下载所需的依赖。
作用: 包含常见管理任务的自动化脚本。
用途: 定义了如何运行常见的操作,如代码审查、构建二进制文件、执行数据库迁移等任务。Makefile 用于自动化常见操作,减少手动输入的步骤,提高开发效率。