Gin 是一个用 Go (Golang) 编写的 HTTP web 框架。 它是一个类似于 martini 但拥有更好性能的 API 框架, 由于 httprouter,速度提高了近 40 倍。
1.有哪些优点
较高的性能(Golang WEB框架比对数据)
简单易用的中间件
使用了性能高可扩展的HTTP路由httprouter
社区长期有着很高的活跃度
Github星星多(Orz)
…等
2.安装/更新
安装
1 | $ go get github.com/gin-gonic/gin |
更新
1 | $ go get -u github.com/gin-gonic/gin |
3.Hello World
1 | package main |
运行
1 | $ go run main.go |
访问 http://127.0.0.1:4000/t ,页面输出Hallo!。
4.路由
Gin支持的路由方式和大部分主流框架基本一致。
1 | func main() { |
Gin同样也支持路由参数,不过不支持路由正则表达式。
1 | func main() { |
5.路由组
Gin在路由分组上的做法和其他框架也都是一致的,再次体现了Gin简单易用极容易上手的优点。
1 | func main() { |
6.中间件
Gin的中间件分为:全局,路由组,路由级别。
1 | func main() { |
7.参数
Gin如何获取请求参数?下面的简单例子:
1 | func main() { |
最后
Gin支持的操作还有很多,比如:数据绑定、数据验证、上传文件、静态资源嵌入等。
Gin没有提供的组件也有很多,比如:ORM、Console、日志滚动分割等。
仁者见仁智者见智,Gin专注做HTTP WEB框架的核心,更多扩展需要开发人员自己去选择,组件化的设计无疑是好的。