Skip to content

介绍

Quote

Gin 是一个用Go编写的 Web 框架。它具有类似 martini 的 API,由于httprouter ,性能提高了 40 倍。

特点

  1. 零分配路由器
  2. 快速地
  3. 中间件支持
  4. 无崩溃
  5. JSON验证
  6. 航线分组
  7. 错误管理
  8. 内置渲染
  9. 可扩展

安装

go get -u github.com/gin-gonic/gin

HelloWorld

package main

import (
    "github.com/gin-gonic/gin"
    "net/http"
)

func main() {
    // 这是默认的服务器。使用gin的Default方法创建一个路由Handler
    router := gin.Default()
    // 然后通过Http方法绑定路由规则和路由函数。不同于net/http库的路由函数,gin进行了封装,把request和response都封装到了gin.Context的上下文环境中。
    router.GET("/", func(context *gin.Context) {
        context.String(http.StatusOK, "hello world")
    })
    // 最后启动路由的Run方法监听端口。
    router.Run(":80")
}
jartin@macbookpro1 machine % curl localhost
hello world%
[GIN-debug] GET    /                         --> main.main.func1 (3 handlers)
[GIN-debug] [WARNING] You trusted all proxies, this is NOT safe. We recommend you to set a value.
Please check https://pkg.go.dev/github.com/gin-gonic/gin#readme-don-t-trust-all-proxies for details.
[GIN-debug] Listening and serving HTTP on :80
[GIN] 2023/09/27 - 15:25:23 | 200 |      20.618µs |             ::1 | GET      "/"
[GIN] 2023/09/27 - 16:24:37 | 200 |      42.716µs |       127.0.0.1 | GET      "/"