认识gin
go流行的web框架
go从诞生之初就带有浓重的开源属性,其原生库已经很强大,即使不依赖框架,也能进行高性能开发,又因为其语言并没有一定的设计标准,所以较为灵活,也就诞生了众多的框架,各具有特色,满足不同的喜好。
地址:https://github.com/gin-gonic/gin
go的框架其实可以理解为库,并不是用了某一个框架就不能用别的框架,可以选择性的使用各个库中的优秀组件,进行组合
gin介绍
Gin 是一个基于 Go 语言编写的 Web 框架,它提供了类似于 Martini 框架但性能更好的 API 服务。Gin 框架的主要特点包括:
- 高性能:Gin 使用了高性能的 httprouter 作为其底层的 HTTP 路由器,速度提升了近 40 倍。
- 易用性:Gin 提供了简单好用的核心上下文 Context,以及丰富的工具集,如 JSON/XML 响应、数据绑定与校验等。
- 路由与中间件:Gin 提供了优雅的路由/中间件系统,支持中间件传入的 HTTP 请求经由一系列中间件和最终操作来处理,例如 Logger、Authorization、GZIP 以及最终的 DB 操作。
- Crash 处理:Gin 框架可以捕获发生在 HTTP 请求中的 panic 并 recover 它,从而保证服务器始终可用。
- JSON 验证:Gin 框架可以解析并验证 JSON 格式的请求数据,例如检查某个必须值是否存在。
- 路由群组:Gin 支持通过路由群组来更好地组织路由,例如是否需要授权、设置 API 的版本等。
- 无限制的群组嵌套:Gin 支持无限制的路由群组嵌套,不会降低性能。
总之,Gin 是一个高效、易用且功能丰富的 Web 框架,适合用于开发高性能的 Web 应用程序。
gin的安装
首先进行开发环境的准备
mkdir ginlearn
先创建项目目录
进入目录 再使用go work init 命令初始化
go mod init test.com/helloworld
go work use ./helloworld

然后就可以使用go get命令下载gin框架


现在开发环境已经准备好了
第一个gin程序
在项目目录下新建一个main.go,并在里面写入以下代码:
package main
import (
"github.com/gin-gonic/gin"
"log"
)
func main() {
r := gin.Default()
//curl http://localhost:8080/hello 获取到json返回值
//{“name”:"hello world"}
r.GET("/hello", func(context *gin.Context) {
context.JSON(200, gin.H{
"name": "hello world",
})
})
err := r.Run(":8080")
if err != nil {
log.Fatal(err)
}
}
然后在浏览器里 访问 http://localhost:8080/hello 就可以看到以下内容

路由
路由是URI到函数的映射
一个URI含: http://localhost:8080/user/find?id=11
- 协议,比如http,https等
- ip端口或者域名,比如127.0.01:8080或者www.test.com
- path ,比如/path
- query,比如?query
同时访问的时候,还需要指明http method 比如get post 等
RESTful API规范
RESTful API的规范建议我们使用特定的HTTP方法来对服务器上的资源进行操作。
比如:
GET 表示读取服务器上的资源
POST 表示在服务器上的创建资源
PUT 表示更新或者替换服务器上的资源
DELETE 表示删除服务器上的资源
请求方法
r.GET("/get", func(ctx *</
Gin:Go语言的高性能Web框架,

Gin是一个基于Go的高性能Web框架,提供类似Martini的API服务,但速度更快。它拥有高效的httprouter,简单的Context,丰富的工具集,优雅的路由和中间件系统,以及Panic恢复功能。Gin支持JSON验证,路由群组和RESTfulAPI规范,适用于开发高性能Web应用。
最低0.47元/天 解锁文章
1045

被折叠的 条评论
为什么被折叠?



