golang-gin入门资料

阿彪2020 · · 818 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

下载地址

官网文档

一个实例

Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin. https://gin-gonic.com/
Gin是一个用Go写成的HTTP服务器。他像Martini-like,但是比其快了40倍。如果想体验极速,开始使用Gin吧。

初看项目在github里面star 34.7k。

安装

golang 1.11+

go get -u github.com/gin-gonic/gin
最简单的例子
package main

import "github.com/gin-gonic/gin"

func main() {
    r := gin.Default()
    r.GET("/ping", func(c *gin.Context) {
        c.JSON(200, gin.H{
            "message": "pong",
        })
    })
    r.Run() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
}
官方的实例

实例

介绍

基于Radix tree路由, 更小内存消耗。没有反射。
传入的http请求可以由一系列中间件和最终操作处理。例如需要post db中的数据,可以通过Logger, Authorization, GZIP中间件。
gin能catch住http请求处理中的问题。这样你的服务器将会一直都运行。例如,可以将错误信息转发给哨兵。
json validation
Gin能将json方式的请求,解析出来。例如能检测请求的数据值是否存在。
routes grouping
让你更好的组织路由。不同版本的api,是否需要校验。。。在这种情况,the grouping能被无限制的嵌套到其中,并且不造成任何的效率的降低。
Error management
Gin提供了便利的方式,收集任何在http请求处理过程中的发生的错误。最终,中间件将会把着一些信息写入一个日志中,或者通过网络写入到db中。
Rendering built-in
Gin提供了Rendering api为json,xml,html。
extendable
扩展性。你可以去通过学习sample代码,很容易掌握如何编写新的中间件。

特性
Gin v1 stable features

0分配路由
最快的静态路由框架;
完整单元测试套件;
被实战检验过;
API冻结,新的发布不会造成对你的代码的破坏;

jsoniter,可以通过命令行来修改json包。

go build -tags=jsoniter .

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:阿彪2020

查看原文:golang-gin入门资料

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

818 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传