1、简介
Gin是Go语言写的一个开源的http框架,它具有类似martini的Api,性能要好的多,运行速度快,更好的组织路由,良好的异常捕获和错误处理,非常好的支持中间件和json,go语言的http框架的设计思路基本都差不多,学习了gin以后不管用什么框架,它的思路都大同小异。
2、安装和开始
- 要想使用gin必须要先下载和安装它,切换到自己的工作空间,执行go命令
go get -u github.com/gin-gonic/gin
安装好后就可以直接使用了,就这么简单。
- 将gin引入到代码中:
import "github.com/gin-gonic/gin"
- 简单示例:
package main
import "github.com/gin-gonic/gin"
func main() {
r := gin.Default()
r.GET("/", func(c *gin.Context) {
c.String(200, "Hello Wold")
})
r.Run(":8080") // 监听并在 0.0.0.0:8080 上启动服务
}
然后执行 go run main.go命令来运行代码:
在浏览器中访问127.0.0.1:8080
在main函数里面首先通过调用gin.Default()函数返回的是一个Engine指针,Engine代表的是整个框架的一个示例,它包含了多路复用、中间件和配置的设置,其实就是封装了我们需要的内容。一般创建Engine都是使用Default()或者New(),当然Default()本身内部也是调用的New()函数。
接着调用Engine的GET方法,这个方法两个参数,一个是相对路径,一个是多个handler,即针对用户一个请求地址,我可以指定多个handler来处理用户请求。但是一般情况下我们都是一个handler处理一个请求。
最后是r.Run(),这个方法时指定服务的主机和端口号,不过一般直接指定端口号就行了
3、项目搭建
接下来创建项目来学习gin的使用,构建项目结构如下所示:
接下来简单解释下:
- config: 写项目的配置文件
- service:业务层,只完成业务逻辑的开发,不进行操作数据库。
- dao:数据库操作层,比如写,多表插入,多表查询等,不写业务代码。
- model:数据库的ORM。
- router:写路由配置及路由的中间件(鉴权、日志、异常捕获)
- util:写项目通用工具类
- pkg:第三方扩展包存放目录
- storage:存放日志文件
- docs:存放文档数据
demo已经提到github,地址:github.com/mwqnice/gin…
本文正在参加技术专题18期-聊聊Go语言框架