入门教程 https://golangcaff.com/docs/gin-gonic/2018/gin-readme/396
下载
go get -u github.com/gin-gonic/gin
在你的代码中导入它:
import "github.com/gin-gonic/gin"
(可选的) 导入 net/http 。 如果你使用常量(如: http.StatusOK ) 的时候必须导入。
import "net/http"
使用一个 vendor 工具,比如 Govendor
go get govendor
go get github.com/kardianos/govendor
创建你的项目目录并使用 cd 进入
初始化你的项目的 Vendor 并添加 gin
govendor init
govendor fetch github.com/gin-gonic/gin@v1.2
复制一个开始模板到你的项目中
curl https://raw.githubusercontent.com/gin-gonic/gin/master/examples/basic/main.go > main.go
运行你的项目
go run main.go
依赖
现在 Gin 需要 Go 1.6 或更高版本,并且很快它将会需要 Go 1.7 。
快速开始
假设下面代码在 example.go 文件中
cat example.go
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() // 在 0.0.0.0:8080 上监听并服务
}
运行 example.go 并在浏览器上访问 0.0.0.0:8080/ping
go run example.go
// 实现内部流水
package main
import (
"fmt"
"github.com/gin-gonic/gin"
)
func Mid(c *gin.Context) {
if c.Request.Method == "GET"{
return
}
fmt.Println("begin")
c.Next()
fmt.Println("end")
}
func Test1(c *gin.Context) {
fmt.Println("调用Test1")
c.Writer.WriteString("ok")
fmt.Println("调用Test1后")
}
func Test2(c *gin.Context) {
fmt.Println("调用Test2")
c.Writer.WriteString("ok")
fmt.Println("调用Test2后")
}
func main() {
app := gin.New()
app.Use(Mid)
app.GET("/", Test1)
app.GET("/1", Test2)
app.Run(":5000")
}