• Gin框架简介和快速使用


    Gin框架简介和快速使用

    1 Go Web框架介绍

    1.1 Gin

    Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确。具有快速灵活,容错方便等特点。其实对于golang而言,web框架的依赖要远比Python,Java之类的要小。自身的net/http足够简单,性能也非常不错。框架更像是一些常用函数或者工具的集合。借助框架开发,不仅可以省去很多常用的封装带来的时间,也有助于团队的编码风格和形成规范。

    目前在很多使用Golang的中小型公司中进行业务开发,使用Gin框架的很多

    Gin框架源码地址:https://github.com/gin-gonic/gin

    Gin框架文档地址:https://gin-gonic.com/zh-cn/docs/

    1.2 Beego

    beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API、Web 及后端服务等各种应用,是一个 RESTful 的框架,主要设计灵感来源于 tornado、sinatra 和 flask 这三个框架,但个人感觉更像django,但是结合了 Go 本身的一些特性(interface、struct 嵌入等)而设计的一个框架。

    Beego框架受欢迎的原因还有一个就是Beego是中国人开发的,文档都是中文的

    Beego框架源码地址:https://github.com/beego/beego/

    Beego框架文档地址:https://beego.vip/docs/intro/

    1.3 Iris

    Iris是一个高效、设计良好的跨平台web框架,具有一系列强大的功能。通过无限的潜力和可移植性构建自己的高性能web应用程序和API,Iris与Gin的学习曲线几乎相同

    Iris框架源码地址:https://github.com/kataras/iris

    Iris框架文档地址:https://www.iris-go.com/docs/#/

    1.4 Echo

    高性能、可扩展、极简的Go web框架

    //1 优化路由器
    高度优化的 HTTP 路由器,动态内存分配为零,可智能地对路由进行优先级排序。
    //2 可扩展
    构建健壮且可扩展的 RESTful API,轻松组织成组。
    //3 自动 TLS
    自动安装 TLS 证书,https访问
    //4 HTTP/2
    HTTP/2 支持提高了速度并提供了更好的用户体验。
    //5 中间件
    许多内置的中间件可以使用,或者自己定义。中间件可以设置在根、组或路由级别。
    //6 数据绑定
    HTTP 请求负载的数据绑定,包括 JSON、XML 或表单数据。
    //7 数据渲染
    用于发送各种 HTTP 响应的 API,包括 JSON、XML、HTML、文件、附件、内联、流或 Blob。
    //8 模板
    使用任何模板引擎进行模板渲染。
    //9 可扩展
    定制的中央 HTTP 错误处理。易于扩展的 API。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    Echo框架源码地址:https://github.com/labstack/echo

    Echo框架文档地址:https://echo.labstack.com/guide/

    2 Gin安装和快速使用

    2.1 安装

    要安装Gin软件包,您需要安装Go并首先设置Go工作区,Go 1.13 及以上版本

    1.安装gin

    go get -u github.com/gin-gonic/gin

    2.导入

    import “github.com/gin-gonic/gin”

    3.(可选)导入net/http。例如,如果使用常量,则需要这样做http.StatusOK。

    import “net/http”

    2.2 第一个hello world

    package main
    
    import (
        "net/http"
        "github.com/gin-gonic/gin"
    )
    
    func main() {
        // 1.创建路由
       r := gin.Default()
       // 2.绑定路由规则,执行的函数
       // gin.Context,封装了request和response
       r.GET("/", func(c *gin.Context) {
          c.String(http.StatusOK, "hello World!")
       })
       // 3.监听端口,默认在8080
       // Run("里面不指定端口号默认为8080") 
       r.Run(":8000")
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    2.3 运行

    //1 编译并运行:go run example.go
    //2 在浏览器中访问 127.0.0.1:8080
    
    • 1
    • 2
  • 相关阅读:
    365包包模式讲解
    基于STM32设计的老人防摔倒报警设备(OneNet)
    canvas学习
    测量程序正算
    利用apache ftpserver搭建ftp服务器
    矩阵的运算
    Java_位运算符简述
    清朝盛衰的六个时间点!
    ThreadLocal介绍和应用
    删除元素专题
  • 原文地址:https://blog.csdn.net/qq_55752792/article/details/126309269