Gin Web Framework
Gin是一个用Go(Golang)编写的Web框架。它具有类似马提尼的API,具有更好的性能,由于httprouter,速度提高了40倍。
如果你需要表现和良好的生产力,you will love Gin
安装
要安装Gin软件包,您需要先安装Go并设置Go工作区。
首先需要Go安装(需要1.10+版本),然后你可以使用下面的Go命令来安装Gin。$ go get -u github.com/gin-gonic/gin在您的代码中导入它:
import "github.com/gin-gonic/gin"导入net/http。例如,如果使用常量,则需要这样做http.StatusOK。
import "net/http"使用像Govendor这样的供应商工具
go get govendor$ go get github.com/kardianos/govendorcd在里面创建你的项目文件夹$ mkdir -p $ GOPATH /src/github.com/myusername/project && cd “ $ _ ”如果您使用的是Mac并且正在安装Go 1.8(已发布:2017年2月)或更高版本,GOPATH将由Go工具链自动确定。它默认为$ HOME / go on macOS,因此您可以像这样创建项目
$ mkdir -p $ HOME /go/src/github.com/myusername/project && cd “ $ _ ”供应商初始化您的项目并添加Gin
$ govendor init$ govendor fetch github.com/gin-gonic/gin@v1.3复制项目中的起始模板
$ curl https://raw.githubusercontent.com/gin-gonic/examples/master/basic/main.go > main.go运行您的项目
$ go run main.go快速开始
#假设example.go文件中的以下代码 $ cat example.gopackage mainimport "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}# run example.go and visit 0.0.0.0:8080/ping on browser$ go run example.go使用GET,POST,PUT,PATCH,DELETE和OPTIONS
func main() { // Creates a gin router with default middleware: // logger and recovery (crash-free) middleware router := gin.Default() router.GET("/someGet", getting) router.POST("/somePost", posting) router.PUT("/somePut", putting) router.DELETE("/someDelete", deleting) router.PATCH("/somePatch", patching) router.HEAD("/someHead", head) router.OPTIONS("/someOptions", options) // By default it serves on :8080 unless a // PORT environment variable was defined. router.Run() // router.Run(":3000") for a hard coded port}分组路由
func main() { router := gin.Default() // Simple group: v1 v1 := router.Group("/v1") { v1.POST("/login", loginEndpoint) v1.POST("/submit", submitEndpoint) v1.POST("/read", readEndpoint) } // Simple group: v2 v2 := router.Group("/v2") { v2.POST("/login", loginEndpoint) v2.POST("/submit", submitEndpoint) v2.POST("/read", readEndpoint) } router.Run(":8080")}更多使用方法可以查看官方文档
开源地址: