Go语言的Gin框架快速入门篇

                                        作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

 

 

一.Gin框架概述

1>.Go语言的Web框架概述

  框架就是别人写好的代码我们可以直接使用,这个代码是专门针对一个开发方向定制的。例如,我们要做一个网站,利用框架就能非常块的完成网站的开发,如果没有框架,每个细节都需要我们处理,开发时间会大大降低。

  Go语言常见的web框架有beego,gin,echo,iris等等。值得一提的是,beego框架是咱们国人谢孟军开发的,其地位和Python的Django有点类似,而gin框架的地位和python的flask有点类似。

  综上所述,如果你要做纯web开发推荐大家使用beego,如果你仅仅是为了写一些后端API接口推荐大家使用gin框架,今天我们就一起来学习一下Gin框架。

  博主推荐阅读:
    https://beego.me/
    https://github.com/gin-gonic/gin

2>.Gin框架概述

  gin是使用golang开发的web框架.简单易用,高性能(是httprouter的40倍),适用于生产环境

  gin特点如下:
    快:
      路由使用基数树,低内存,不使用反射;     中间件注册:
      一个请求可以被一系列的中间件和最后的action处理     奔溃处理:
      gin可以捕获panic使应用程序可用     JSON校验:
      将请求的数据转换为JSON并校验     路由组:
      更好的组织路由的方式,无限制嵌套而不影响性能     错误管理:
      可以收集所有的错误     内建渲染方式:
      JSON,XML和HTML渲染方式     可继承:
      简单的去创建中间件

3>.Gin框架运行原理

  MVC模型如下所示:
    模型(Model):
      数据库管理与设计。
    控制器(Controller):
      处理用户输入的信息,负责从视图读取数据,控制用户输入,并向模型发送数据源,是应用程序中处理用户交互的部分,负责管理与用户交互控制。
    视图(View):
      将信息显示给用户。

  Gin框架的运行流程如下图所示。

Go语言的Gin框架快速入门篇

4>.Gin和Beego框架对比

  MVC:
    Gin框架不完全支持,而beego完全支持。

  Web功能:
    Gin框架支持的不全面,比如Gin框架不是支持正则路由,不支持session。而beego支持的很全面。

  使用场景:
    Gin适合使用在封装API接口,而beego适合web项目。

5>.安装Gin组件

go get  github.com/gin-gonic/gin

Go语言的Gin框架快速入门篇

6>.Hello World案例

package main

import "github.com/gin-gonic/gin"

func main() {
    /**
    所有的接口都要由路由来进行管理。
        Gin的路由支持GET,POST,PUT,DELETE,PATCH,HEAD,OPTIONS等请求
        同时还有一个Any函数,可以同时支持以上的所有请求。

    创建路由(router)并引入默认中间件
        在源码中,首先是New一个engine,紧接着通过Use方法传入了Logger()和Recovery()这两个中间件。
        其中 Logger 是对日志进行记录,而 Recovery 是对有 painc时, 进行500的错误处理。

    创建路由(router)无中间件
        router := gin.New()
    */
    router := gin.Default()

    //定义路由的GET方法及响应的处理函数
    router.GET("/hello", func(c *gin.Context) {
        //将发送的消息封装成JSON发送给浏览器
        c.JSON(200, gin.H{
            //这是咱们定义的数据
            "message": "Hello World!",
        })
    })

    //启动路由并指定监听的地址及端口,若不指定默认监听0.0.0.0:8080
    router.Run("127.0.0.1:9000")
}
案例代码

相关文章: