Golang Go语言中 gin 框架如何组织目录啊?
1.新学 go,使用 gin 框架很像一个第三方库似的,数据路操作,业务逻辑等该怎么组织目录?
2.看官方的 example 里面写在了 router 里面
3.有没有像 PHP 框架那样的例子,把目录结构组织一下,起码比自己组织强多了
Golang Go语言中 gin 框架如何组织目录啊?
9 回复
项目结构就是你喜欢就行。
你 PHP 用什么结构,gin 也可以用什么结构。
更多关于Golang Go语言中 gin 框架如何组织目录啊?的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
看你习惯,我一般都是
/router
/controllers
/models
/libs
/configs
/logs
app.go
全部放一个文件夹,加个前缀就行。
最烦分成多个目录的,一点都不直观
PHP 框架的话这活直接帮忙做了,这个要自己组织,有点懵
复杂的项目我也按照 rails 的结构来,简单的项目一个 go 文件应该就够了
多写点就好了,没有什么特定的结构,自己定一个或者跟着公司规范走就行了
在Go语言中,使用Gin框架组织目录结构是一个常见的需求,良好的目录结构有助于代码的可维护性和可读性。以下是一个推荐的目录组织方式:
-
项目根目录:
main.go
:项目的入口文件,从这里启动Gin服务器。go.mod
和go.sum
:Go语言的模块依赖管理文件。
-
内部包目录:
controllers
:存放处理HTTP请求的控制器函数。models
:存放与数据库交互的模型结构。repositories
:封装数据库操作逻辑,作为models和controllers之间的桥梁。services
:存放业务逻辑层代码。middlewares
:存放中间件代码,如认证、日志记录等。routers
:存放路由配置代码,通常会在main.go
中引入并注册路由。
-
静态资源目录:
static
:存放静态文件,如CSS、JavaScript、图片等。templates
:存放HTML模板文件。
-
配置文件:
config
目录或config.yaml
、config.json
等配置文件,用于存放环境变量和配置参数。
-
测试文件:
- 每个包目录下可以包含相应的
_test.go
文件,用于单元测试。
- 每个包目录下可以包含相应的
这种结构清晰地将不同类型的代码和资源分开,便于管理和扩展。当然,根据项目规模和团队习惯,目录结构也可以适当调整。