原创做者,公众号【程序员读书】,欢迎关注公众号,转载文章请注明出处哦。git
虽然Go标准库net/http
对使用Go开发Web应用提供很是强大的支持,然而对于想要快速开发并及上线项目的团队来讲,使用Web框架不失为一种更好的选择。程序员
Go社区中,有许多很是优秀的Web框架,如Gin
,Iris
,Echo
,Martini
,Revel
以及国人开发的Beego
框架。github
Radix
树的路由,性能很是强大。Logger
,Gzip
,Authorization
等。JSON
数据格式。RouteGroup
),能够更方便组织路由。HTML
、JSON
、YAML
、XML
等数据格式的响应。Gin目前最新的版本是V1.3.0
,其安装过程很是简单,不过在安装Gin以前,须要安装Go1.6
或以上的版本(后续版本可能要Go1.8
或以上),下面介绍两种安装方式。bash
$ go get -u github.com/gin-gonic/gin //使用-u安装最新版本
复制代码
提示:Govendor是使用Go语言开发Go项目依赖管理工具。框架
$ go get github.com/kardianos/govendor
复制代码
$ govendor init
$ govendor fetch github.com/gin-gonic/gin@v1.3
复制代码
经过上面的两种方式安装好Gin以后,下面经过一个简单示例看看怎么Gin使用开发Web应用。工具
import "github.com/gin-gonic/gin"
func main(){
r := gin.Default()
r.GET("/test",func(c *gin.Context){
c.JSON(200,gin.H{"hello":"world"})
})
r.Run()
}
复制代码
能够看到,使用gin开发一个Web服务是很简单的一件事情,能够简单地分解为四步:性能
在咱们安装Gin框架的时候,已经将gin包安装到本地,若是使用go get
命令安装的,则这个包路径为$GOPATH/src/github.com/gin-gonic/gin
,而咱们只须要使用import
命令即可以将包导入。fetch
import "github.com/gin-gonic/gin"
复制代码
使用gin.Default()方法会返回gin.Engine实例,表示默认路由引擎。spa
r := gin.Default()
复制代码
经过这种方式建立的gin.Engine,会默认使用Logger和Recovery两个中间件,能够用gin.New()方法建立一个不包含任何中间件的默认路由。code
r := gin.New()
复制代码
经过默认路由,咱们能够建立处理HTTP请求的方法,示例中使用GET方法:
r.GET("/test",func(c *gin.Context){
c.JSON(200,gin.H{"hello":"world"})
})
复制代码
Gin支持全部通用的HTTP请求方法:GET
,POST
,PUT
,PATCH
,OPTIONS
,HEAD
,DELETE
,其使用方式与上面例子相同,如POST:
r.POST("/test",func(c *gin.Context){
c.JSON(200,gin.H{"hello":"world"})
})
复制代码
每种方法都只处理对应的HTTP请求,使用Any方法则能够处理任何的HTTP请求。
r.Any("/test",func(c *gin.Context){
c.JSON(200,gin.H{"hello":"world"})
})
复制代码
定义好请求以后,使用Run()方法即可监听端口,开始接受HTTP请求,若是Run()方法没有传入参数的话,则默认监听的端口是8080。
r.Run() //r.Run(":3000")
复制代码
Gin是一个Go Web开发的轻量级框架,使用也很是地简单,容易上手,可是,使用Gin开发前,仍是须要对Go原生支持的net/http有所了解。
你的关注,是我写做路上最大的鼓励!