• 1Gin框架简介和快速使用


    一 Go Web框架介绍

    1.1 Gin

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

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

    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 这三个框架,但是结合了 Go 本身的一些特性(interface、struct 嵌入等)而设计的一个框架。

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

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

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

    1.3 Iris

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

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

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

    1.4 Echo

    高性能、可扩展、极简的Go web框架:star数量22k+

    //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。
    

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

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

    二 Gin安装和快速使用

    2.1 安装

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

    1.首先需要安装Go

    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")
    }
    

    2.3 运行

    //1 编译并运行:go run example.go
    //2 在浏览器中访问 127.0.0.1:8080
    
  • 相关阅读:
    PHP7.X 安装mysql扩展
    雷军说云计算是下一个风口
    玩转超级列表框4 拖放组建的使用。
    玩转超级列表框第三课的自编代码
    易语言核心支持库 文本操作与文件读写
    插入表项的标题和置标题的标题的区别
    精易模块8.2 类_超级列表框 外部超级列表框的区别和使用注意点
    如何理解动态规划
    雷军:互联网思维本质上就是群众路线
    纯互联网项目“失宠”乐博资本杨宁称今后只投O2O
  • 原文地址:https://www.cnblogs.com/liuqingzheng/p/16124093.html
Copyright © 2020-2023  润新知