1. Gin框架简介
Gin 是一个用 Go (Golang) 编写的 Web 框架。 它具有类似 martini 的 API,性能要好得多,得益于 httprouter,速度提高了 40 倍。 如果在使用Golang开发时需要性能和良好的生产力,Gin框架很合适。
参考文档:
2. Gin/Beego/Iris对比
Gin:
- 高性能:Gin的速度可以比较接近于最低级别的网页处理程序,比如 net/http 的速度。这是尽可能少的内存拷贝和更少的内存分配所带来的好处。
- 简单易用:对于基本的Web应用程序,Gin通过降低API的复杂性而达到高效易用。
- 特性全面:Gin提供了大量便利的功能,如中间件、路由、表单类型解析等。
- 社区活跃,资料较多。
Beego:
- 整合性强:Beego采用模块化设计,包括ORM、Web框架、日志等,基于此可以直接编写Web应用程序,无需选用其他框架。
- 简单直观:Beego的API使用起来简单方便,可以便利地应用于Web开发中。
- 自动化代码生成:Beego有自己的bee命令行工具,可以自动生成代码。
- 生态完备,有完善的框架自带功能以及不少配套工具,但相对资源消耗较大,社区活跃度一般。
Iris:
- 高性能:Iris框架是性能上最快的GoWeb框架,处理请求的速度非常迅速。
- 易于上手:Iris提供了很多示例和说明,让初学者容易上手。
- 提供了丰富的功能,比如认证,websockets,even sourcing等。
- 社区活跃度较低,国内被使用的情况不如Gin和Beego。
整体来说,Gin是一款轻量级、足够灵活、性能极高的框架,很适合中小型项目;Beego则功能全面,适合大型项目,底层封装偏重,上手较为复杂;而Iris性能最好,但是社区活跃度和文档相对较少。
3. Gin快速入门
3.1. 安装配置Golang
Gin 需要 Go 1.13 及以上版本,Go安装配置方法参考文档《好好学Golang:Golang入门篇》
3.2. 安装Gin
1、创建一个Golang项目
1 | mkdir gin-learning && cd gin-learning |
2、安装Gin
1 | go get -u github.com/gin-gonic/gin |
3.3. example.go
1、创建一个 example.go 文件,内容为
1 | package main |
2、启动服务
1 | go run example.go |
3、访问服务
1 | curl localhost:8080/ping |