Gin框架系列01:极速上手

Gin是什么?

Gin是Go语言编写的web框架,具有中间件、崩溃处理、JSON验证、内置渲染等多种功能。git

准备工做

本系列演示全部代码都在Github中,感兴趣的同窗能够自行查阅,欢迎你们一块儿完善。github

https://github.com/pingyeaa/golang-examples/tree/master/gin复制代码

没有安装配置Go语言环境的同窗请先自行安装,这里再也不赘述。首先,咱们来建立工做目录gingolang

mkdir gin && cd gin复制代码

而后用go mod命令初始化项目,go mod是Go语言的包管理工具,官方推荐使用,有了它就再也不受GOPATH的限制,能够在任何目录初始化项目。web

go mod init gin复制代码

接下来安装gin库。shell

go get -u github.com/gin-gonic/gin复制代码

建立演示代码的入口文件main.go,当前项目结构大体以下。浏览器

.
├── go.mod
├── go.sum
└── main.go复制代码

编写代码

工做准备就绪以后,来开始今天的代码编写,以经典代码hello word为例。框架

实例化一个gin对象

r := gin.Default()复制代码

Default方法的主要做用是实例化一个带有日志、故障恢复中间件的引擎。函数

func Default() *Engine {
    debugPrintWARNINGDefault()
    engine := New()
    engine.Use(Logger(), Recovery())
    return engine
}复制代码

定义请求

定义一个GET请求的路由,参数一是路由地址,也就是在浏览器访问的相对路径,参数二是一个匿名函数,函数内部用于业务逻辑处理。工具

r.GET("/hello", func(c *gin.Context) {

})复制代码

咱们就在函数内调用JSON方法返回数据。JSON的操做很是简单,参数一是状态码,参数二是JSON的内容。测试

r.GET("/hello", func(c *gin.Context) {
  c.JSON(200, gin.H{
    "msg": "Hello world!",
  })
})复制代码

JSON内容能够经过gin提供的H方法来构建,很是方便。

// H is a shortcut for map[string]interface{}
type H map[string]interface{}复制代码

运行

Run方法最终会调用内置http库的ListenAndServe方法来监听端口,若是不传参数默认监听80端口,也能够经过参数来变动地址和端口。

r.Run(":8081")复制代码

测试

在浏览器访问localhost:8081,若是看到以下提示即成功。

file

完整代码

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{
            "msg": "Hello world!",
        })
    })
    r.Run(":8081")
}复制代码

Go语言库代码示例,欢迎star github.com/pingyeaa/go…


感谢你们的观看,若是以为文章对你有所帮助,欢迎关注公众号「平也」,聚焦Go语言与技术原理。 关注我

相关文章
相关标签/搜索