项目结构
/
├── app
│ ├── common
│ │ ├── adapter
│ │ ├── api
│ │ ├── dao
│ │ ├── service
│ │ ├── model
│ │ ├── ...
│ ├── system
│ │ ├── api
│ │ ├── dao
│ │ ├── service
│ │ ├── model
│ │ ├── router
│ │ ├── ...
│ └── other
├── boot
├── config
├── docker
├── document
├── i18n
├── library
├── packed
├── public
├── plugins
├── router
├── template
├── vendor
├── Dockerfile
├── go.mod
└── main.go
目录/文件名称 | 说明 | 描述 |
---|---|---|
app | 业务逻辑层 | 所有的业务逻辑存放目录。 |
- api | 业务接口 | 接收/解析用户输入参数的入口/接口层。 |
- model | 数据模型 | 数据管理层,仅用于操作管理数据,如数据库操作。 |
- service | 逻辑封装 | 业务逻辑封装层,实现特定的业务需求,可供不同的包调用。 |
boot | 初始化包 | 用于项目初始化参数设置,往往作为main.go中第一个被import的包。 |
config | 配置管理 | 所有的配置文件存放目录。 |
docker | 镜像文件 | Docker镜像相关依赖文件,脚本文件等等。 |
document | 项目文档 | Documentation项目文档,如: 设计文档、帮助文档等等。 |
i18n | I18N国际化 | I18N国际化配置文件目录。 |
library | 公共库包 | 公共的功能封装包,往往不包含业务需求实现。 |
packed | 打包目录 | 将资源文件打包的Go文件存放在这里,boot包初始化时会自动调用。 |
public | 静态目录 | 仅有该目录下的文件才能对外提供静态服务访问。 |
plugins | 扩展目录 | 提供一些扩展功能。 |
router | 路由注册 | 用于路由统一的注册管理。 |
template | 模板文件 | MVC模板文件存放的目录。 |
vendor | 第三方包 | 第三方依赖包存放目录(可选, 未来会被淘汰)。 |
Dockerfile | 镜像描述 | 云原生时代用于编译生成Docker镜像的描述文件。 |
go.mod | 依赖管理 | 使用Go Module包管理的依赖描述文件。 |
main.go | 入口文件 | 程序入口文件。 |
在实践中,小伙伴们可以根据实际情况增删目录。
注意:如果需要提供静态服务,那么所有静态文件都需要存放到public目录下,仅有该目录下的静态文件才能被外部直接访问。不推荐将程序当前运行目录加入到静态服务中。
项目创建推荐使用GF工具链gf init命令,具体请参考【GF工具链】章节。
*注意:使用gf-cli 版本最好 >= v1.16.4*
作者:管理员 创建时间:2023-01-09 17:12
最后编辑:管理员 更新时间:2023-01-09 17:12
最后编辑:管理员 更新时间:2023-01-09 17:12