golang-gin入门资料

下载地址

官网文档

一个实例

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 .
发布了76 篇原创文章 · 获赞 13 · 访问量 13万+

猜你喜欢

转载自blog.csdn.net/erlang_hell/article/details/104259608