Go 语言的 Gin 框架 | 青训营笔记

169 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 11 天

简介

Gin 是一个用 Go 语言编写的web框架,它是一个类似于 Martini 但拥有更好性能的API框架,由于使用了 httprouter,速度提高了近40倍。目前是 Go 生态圈里最流行的 Web 框架之一。

Gin 的历史不算长,是在2014年由 Manu Martinez-Almeida 创建的。它的灵感来源于 Sinatra 和 Martini,但是它更加轻量级和高效。它的特点是支持中间件、路由分组、JSON 验证、渲染等功能。

Gin 适合开发一些需要高性能、高灵活性、轻量级的 web 项目,比如 API 服务、微服务、博客系统等。Gin 框架相比于其他 Go web 框架,如 Beego,更加简单和自由,不过也需要自己封装一些基础服务和模块。

使用

Go 的 Github主页上有一个最小的例子

package main

import (
  "net/http"

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

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

以这个例子为基准,已经可以提供一个后端服务器了。不过想要使用其它更高级的功能,还需要看它的文档。文档里面提供了大量的使用案例,包括

总结

我个人非常喜欢这种提供模板的文档,通过其实例,能够直接上手开始写项目