Gin之gin介绍和安装

这篇具有很好参考价值的文章主要介绍了Gin之gin介绍和安装。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、gin介绍

1.1 gin 是什么?

Gin 是一个用 Go (Golang) 编写的 HTTP web 框架。 它是一个类似于 martini 但拥有更好性能的 API 框架,由于

httprouter,速度提高了近 40 倍。如果你需要极好的性能,使用 Gin 吧。

https://github.com/go-martini/martini

https://github.com/julienschmidt/httprouter

1.2 gin优点?

  • 快速

    基于 Radix 树的路由,小内存占用。没有反射。可预测的 API 性能。

  • 支持中间件

    传入的 HTTP 请求可以由一系列中间件和最终操作来处理。例如:Logger,Authorization,GZIP,最终操作

    DB。

  • Crash 处理

    Gin 可以 catch 一个发生在 HTTP 请求中的 panic 并 recover 它。这样,你的服务器将始终可用。例如,你可

    以向 Sentry 报告这个 panic!

  • JSON 验证

    Gin 可以解析并验证请求的 JSON,例如检查所需值的存在。

  • 路由组

    更好地组织路由。是否需要授权,不同的 API 版本…… 此外,这些组可以无限制地嵌套而不会降低性能。

  • 错误管理

    Gin 提供了一种方便的方法来收集 HTTP 请求期间发生的所有错误。最终,中间件可以将它们写入日志文件,

    数据库并通过网络发送。

  • 内置渲染

    Gin 为 JSON,XML 和 HTML 渲染提供了易于使用的 API。

  • 可扩展性

    新建一个中间件非常简单。

1.3 gin特性?

Gin v1 稳定的特性:

  • 零分配路由。
  • 仍然是最快的 http 路由器和框架。
  • 完整的单元测试支持。
  • 实战考验。
  • API 冻结,新版本的发布不会破坏你的代码。

1.4 基准测试

Gin 使用了自定义版本的 HttpRouter。

查看所有基准测试:https://github.com/gin-gonic/gin/blob/master/BENCHMARKS.md

Benchmark name (1) (2) (3) (4)
BenchmarkGin_GithubAll 30000 48375 0 0
BenchmarkAce_GithubAll 10000 134059 13792 167
BenchmarkBear_GithubAll 5000 534445 86448 943
BenchmarkBeego_GithubAll 3000 592444 74705 812
BenchmarkBone_GithubAll 200 6957308 698784 8453
BenchmarkDenco_GithubAll 10000 158819 20224 167
BenchmarkEcho_GithubAll 10000 154700 6496 203
BenchmarkGocraftWeb_GithubAll 3000 570806 131656 1686
BenchmarkGoji_GithubAll 2000 818034 56112 334
BenchmarkGojiv2_GithubAll 2000 1213973 274768 3712
BenchmarkGoJsonRest_GithubAll 2000 785796 134371 2737
BenchmarkGoRestful_GithubAll 300 5238188 689672 4519
BenchmarkGorillaMux_GithubAll 100 10257726 211840 2272
BenchmarkHttpRouter_GithubAll 20000 105414 13792 167
BenchmarkHttpTreeMux_GithubAll 10000 319934 65856 671
BenchmarkKocha_GithubAll 10000 209442 23304 843
BenchmarkLARS_GithubAll 20000 62565 0 0
BenchmarkMacaron_GithubAll 2000 1161270 204194 2000
BenchmarkMartini_GithubAll 200 9991713 226549 2325
BenchmarkPat_GithubAll 200 5590793 1499568 27435
BenchmarkPossum_GithubAll 10000 319768 84448 609
BenchmarkR2router_GithubAll 10000 305134 77328 979
BenchmarkRivet_GithubAll 10000 132134 16272 167
BenchmarkTango_GithubAll 3000 552754 63826 1618
BenchmarkTigerTonic_GithubAll 1000 1439483 239104 5374
BenchmarkTraffic_GithubAll 100 11383067 2659329 21848
BenchmarkVulcan_GithubAll 5000 394253 19894 609

(1)、在一定的时间内实现的总调用数,越高越好

(2)、单次操作耗时(ns/op),越低越好

(3)、堆内存分配 (B/op), 越低越好

(4)、每次操作的平均内存分配次数(allocs/op),越低越好

1.5 参考

Gin HitHub:https://github.com/gin-gonic/gin/

使用例子:https://github.com/gin-gonic/examples

1.6 用户

使用 Gin web 框架的知名项目:

  • gorush:Go 编写的通知推送服务器。
  • fnproject:原生容器,云 serverless 平台。
  • photoprism:由 Go 和 Google TensorFlow 提供支持的个人照片管理工具。
  • krakend:拥有中间件的超高性能 API 网关。
  • picfit:Go 编写的图像尺寸调整服务器。
  • gotify:使用实时 web socket 做消息收发的简单服务器。
  • cds:企业级持续交付和 DevOps 自动化开源平台。

2、gin安装

2.1 要求

Go 1.13 及以上版本

2.2 安装

要安装 Gin 软件包,需要先安装 Go 并设置 Go 工作区。

1、下载并安装 gin:

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

2、将 gin 引入到代码中:

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

3、(可选)如果使用诸如 http.StatusOK 之类的常量,则需要引入 net/http 包:文章来源地址https://www.toymoban.com/news/detail-810767.html

import "net/http"

到了这里,关于Gin之gin介绍和安装的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解决GO安装gin框架(go get -u github.com/gin-gonic/gin)超时问题

    🍊gin框架github地址:https://github.com/gin-gonic/gin         按照官方文档安装gin,但是尝试了好几次,包括使用国内网络或者使用梯子,都超时失败了,爆了如下超时错误 🍊 解决方法如下 1、先查看go相关的配置 如上显示GOPROXY配置是https://proxy.golang.org,这个地址已经被墙了,

    2024年02月11日
    浏览(53)
  • 安装 Gin 框架

    首先需要在目录下初始化一下 go 项目 可以看到生成了一个 go.mod 文件,然后使用以下命令安装 gin 框架 养成一个好习惯,在写项目之前先初始化项目 如果不初始化项目的话没有第三方库补全提示,例如 gin,并且在手动引入 github.com/gin-gonic/gin 后还会有红色波浪线 如果初始化

    2024年02月09日
    浏览(27)
  • gin和gorm框架安装

    理论上只要这两句命令 然而却出现了问题 貌似是代理问题,加上一条命令 或者试试这个  可以成功安装 安装gorm的数据库驱动程序

    2024年02月14日
    浏览(34)
  • Gin安装解决国内go 与 热加载

     get 方式安装超时问题,国内直接用官网推荐的下面这个命令大概率是安装不成功的 可以在你的项目目录下执行下面几个命令: 比如我的项目在E:Oprojectzl  cmd  E:Oprojectzl就在目录下执行 这样就能将 gin以module的方式安装到你的项目的Lib里面了。 如果执行完上面的命令没报

    2024年02月12日
    浏览(40)
  • 【golang】Windows环境下Gin框架安装和配置

    我终于搞定了Gin框架的安装,花了两三个小时,只能说道阻且长,所以写下这篇记录文章 先需要修改一些变量,这就需要打开终端,为了一次奏效,我们直接设置全局的: 首先创建一个项目 进去之后先创建go.mod文件,创建完之后通常会为你自动配置参数 然后我们打开Files

    2024年02月07日
    浏览(41)
  • Go在安装Gin时出现Failed to connect 报错问题的解决方案(已解决)

              在命令行中输入:go get -u github.com/gin-gonic/gin指令安装Gin第三方包时出现连接错误与连接超时的情况如下:           在较新版本的Go中引入了全新的包管理机制,出现上述错误可能是包管理机制设置不恰当的问题,尝试在终端窗口输入如下命令以更新包的管理机

    2024年02月10日
    浏览(39)
  • 【Go Web开发】Web初识、RESTful架构和RESTful API详解、Gin框架的安装和简单使用

    博主简介: 努力学习的大一在校计算机专业学生,热爱学习和创作。目前在学习和分享:数据结构、Go,Java等相关知识。 博主主页: @是瑶瑶子啦 所属专栏: Go语言核心编程 近期目标: 写好专栏的每一篇文章 全称: “万维网”(World Wide Web) 本质: 系统(基于互联网).

    2024年02月03日
    浏览(47)
  • gin 框架中的 gin.Context

    Context 是 gin 中最重要的部分。 例如,它允许我们在中间件之间传递变量、管理流程、验证请求的 JSON 并呈现 JSON 响应。 Context 中封装了原生的 Go HTTP 请求和响应对象,同时还提供了一些方法,用于获取请求和响应的信息、设置响应头、设置响应状态码等操作。 在 Gin 中,C

    2024年02月14日
    浏览(36)
  • Gin学习记录1——认识与下载Gin

    我为什么要学Gin : Python 做后台可能效率不太高,用 Go 可能更合适一点 Gin 性能够强,安装方便,资料算比较丰富,用的人多, github ☆ 多 更适合前后端分离开发 Server Less 部署方便;打包成二进制可执行文件也方便。 开发环境: go1.21.0 + VS Code 安装 Go 略过 然后安装 Gin 之前

    2024年02月09日
    浏览(31)
  • 前后端分离项目(gin+gorm+vue3)腾讯云部署详细教程(Xshell安装及使用,go,mysql,nginx安装及配置)

    1. 购买服务器 进入腾讯云官网点击最新活动,进入云+校园专区,我购买的是第一个 购买完成后,进入控制台,云产品选择轻量应用服务器,即可查看到自己的服务器,记住自己的公网IP 2. 重置密码 点击进入服务器详情,初次使用需重置密码 点击重置密码按提示操作即可,

    2024年02月06日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包