Gin是一个使用Go语言开发的Web框架,它提供类似Martini的API,但性能更佳,速度提升高达40倍(基于httprouter实现)。
介绍
开发
- Golang 热加载工具(监听代码变更,自动编译并重新执行,类似于 beego 的 bee 工具)
- Swagger
- gin 运行的三种模式,参考
DebugMode
默认模式,比 ReleaseMode
多了一些额外的错误信息
ReleaseMode
发布模式优化调试输出,如路由日志不会输出到终端
TestMode
- 设置方式
- using env: export GIN_MODE=release
- using code: gin.SetMode(gin.ReleaseMode)
组成
示例
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",
})
})
// 启动 HTTP 服务
//r.Run("0.0.0.0:8000")
//r.Run(":8000")
_ = r.Run()
// curl http://127.0.0.1:8080/ping
//{"message":"pong"}
}
集成swag
go install github.com/swaggo/swag/cmd/swag@latest
# help
swag -h
swag init -h
swag fmt -h
# 默认指定 main.go 文件
swag init
# 手动指定文件
swag init -g http/api.go
# 自动格式化 swag 格式文件
swag fmt
其他
gin 相关框架