安装go
go 1.17 ( 下载tar, 编译)
1870 tar zxvf go1.17.linux-amd64.tar.gz go
1871 mv go /usr/local/
1872 sudo mv go /usr/local/
export PATH=$PATH:/usr/local/go/bin
查看环境: $ go env
修改代理:
export GOPROXY=https://goproxy.cn
安装gin
参考: https://github.com/gin-gonic/gin
go get -u github.com/gin-gonic/gin
vim server.go
package main import "github.com/gin-gonic/gin" func main() { r := gin.Default() r.GET("/hi", func(c *gin.Context) { c.JSON(200, gin.H { "message": "lueluelue", }) }) r.Run() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080") }
运行: $ go run server.go
即可。
性能超好,在虚拟机上, 7000 req/s
带上参数:
package main import "github.com/gin-gonic/gin" import "net/http" func main() { router := gin.Default() router.GET("/user/:name", func(c *gin.Context){ name := c.Param("name") c.String(http.StatusOK, "Hihihi , %s", name) }) router.GET("/book/show", func(c *gin.Context){ name := c.Query("name") year := c.Query("year") c.String(http.StatusOK, "show me this booK: %s %s", name, year) }) router.Run(":8080") }
带上POST参数:
package main import "github.com/gin-gonic/gin" //import "net/http" func main(){ router := gin.Default() router.POST("/book/create", func(c *gin.Context){ c.JSON(200, gin.H { "name": c.PostForm("name"), "author": c.PostForm("author"), // 注意这个 , 不能省略 }) }) router.Run(":8080") }