Golang Go语言中 gin 框架如何组织目录啊?

发布于 1周前 作者 yibo5220 来自 Go语言
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


我按照 rails 的方式,但觉得有点别扭。

看你习惯,我一般都是
/router
/controllers
/models
/libs
/configs
/logs
app.go

全部放一个文件夹,加个前缀就行。
最烦分成多个目录的,一点都不直观

PHP 框架的话这活直接帮忙做了,这个要自己组织,有点懵

复杂的项目我也按照 rails 的结构来,简单的项目一个 go 文件应该就够了

多写点就好了,没有什么特定的结构,自己定一个或者跟着公司规范走就行了

Gin 框架与《 Web Development with Go 》实践 http://studygolang.com/articles/9956 这里有目录组织结构的说明

在Go语言中,使用Gin框架组织目录结构是一个常见的需求,良好的目录结构有助于代码的可维护性和可读性。以下是一个推荐的目录组织方式:

  1. 项目根目录

    • main.go:项目的入口文件,从这里启动Gin服务器。
    • go.modgo.sum:Go语言的模块依赖管理文件。
  2. 内部包目录

    • controllers:存放处理HTTP请求的控制器函数。
    • models:存放与数据库交互的模型结构。
    • repositories:封装数据库操作逻辑,作为models和controllers之间的桥梁。
    • services:存放业务逻辑层代码。
    • middlewares:存放中间件代码,如认证、日志记录等。
    • routers:存放路由配置代码,通常会在main.go中引入并注册路由。
  3. 静态资源目录

    • static:存放静态文件,如CSS、JavaScript、图片等。
    • templates:存放HTML模板文件。
  4. 配置文件

    • config 目录或 config.yamlconfig.json 等配置文件,用于存放环境变量和配置参数。
  5. 测试文件

    • 每个包目录下可以包含相应的 _test.go 文件,用于单元测试。

这种结构清晰地将不同类型的代码和资源分开,便于管理和扩展。当然,根据项目规模和团队习惯,目录结构也可以适当调整。

回到顶部