Gin框架笔记(一) Gin框架的安装与Hello World

简介: Gin框架笔记(一) Gin框架的安装与Hello World

什么是Gin框架

Gin是一个golang的微框架,基于 httprouter,封装比较优雅,API友好,源码注释比较明确。具有快速灵活,容错率高,高性能等特点。框架更像是一些常用函数或者工具的集合。借助框架开发,不仅可以省去很多常用的封装带来的时间,也有助于团队的编码风格和形成规范。

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。
  • 可扩展性
    我们想对中间件进行修改或添加中间件非常的简单

Gin框架的安装

Gin框架的安装非常简单,我们只需要打开终端,输入以下命令即可:

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

当然这样还是不行,我们需要打开终端,到项目路径下,输入go mod init 项目名,然后新建文件,输入:

package main
import "github.com/gin-gonic/gin"
func main() {
  r := gin.Default()
  
}

但是这时候它可能是这样的:

这时候我们在终端输入:

go mod tiddy

像下面这样就可以了:

Gin框架代码示例

我们可以尝试与Web浏览器进行一个简单的交互,尝试在网页中打印一个Hello world(毕竟是梦的开始),代码如下:

package main
import "github.com/gin-gonic/gin"
func main() {
  r := gin.Default() //创建路由
  r.GET(
    "/", func(c *gin.Context) {
      c.String(200, "hello World")
    })
  r.Run(":8080")
}

我们运行它,然后访问http://127.0.0.1:8080/就可以看到:

说明我们的代码就运行成功了!

相关文章
|
Go API 网络架构
Gin框架快速入门1
Gin框架快速入门1
330 0
|
SQL 关系型数据库 MySQL
gin框架学习-Gorm入门指南
Snake Case命名风格,就是各个单词之间用下划线(_)分隔,首字母大写区分一个单词,例如: CreateTime的Snake Case风格命名为create_time
873 0
gin框架学习-Gorm入门指南
|
JavaScript 内存技术
fnm 安装、卸载与使用(详细步骤)
fnm 安装、卸载与使用(详细步骤)
3502 0
|
8月前
|
JSON Cloud Native Go
开箱即用的 GoWind Admin|风行,企业级前后端一体中后台框架:后端权限控制
GoWind Admin「风行」是企业级中后台框架,集成Casbin与OPA实现API权限控制。支持RBAC、ABAC等模型,开箱即用,助力高效构建安全的前后端一体化系统。
657 0
|
设计模式 消息中间件 供应链
前端必须掌握的设计模式——发布订阅模式
发布订阅模式(Publish-Subscribe Pattern)是一种设计模式,类似于观察者模式,但通过引入第三方中介实现发布者和订阅者的解耦。发布者不再直接通知订阅者,而是将消息发送给中介,由中介负责分发给订阅者。这种方式提高了异步支持和安全性,适合复杂、高并发场景,如消息队列和流处理系统。代码实现中,通过定义发布者、订阅者和中介接口,确保消息的正确传递。此模式在前端开发中广泛应用,例如Vue的数据双向绑定。
|
消息中间件 JSON Java
Spring Boot、Spring Cloud与Spring Cloud Alibaba版本对应关系
Spring Boot、Spring Cloud与Spring Cloud Alibaba版本对应关系
32429 0
|
存储 传感器 监控
什么是 IoT Thingworx
ThingWorx是PTC公司推出的一个快速应用开发平台,专为物联网(IoT)解决方案设计。它通过提供强大的工具和预构建的组件,帮助企业快速构建、部署和管理物联网应用,加速产品上市时间。
1274 11
|
SQL 分布式计算 大数据
大数据处理平台Hive详解
【7月更文挑战第15天】Hive作为基于Hadoop的数据仓库工具,在大数据处理和分析领域发挥着重要作用。通过提供类SQL的查询语言,Hive降低了数据处理的门槛,使得具有SQL背景的开发者可以轻松地处理大规模数据。然而,Hive也存在查询延迟高、表达能力有限等缺点,需要在实际应用中根据具体场景和需求进行选择和优化。
1170 6
|
JSON 中间件 数据格式
Gin框架学习笔记(六)——gin中的日志使用
Gin框架学习笔记(六)——gin中的日志使用
1176 0