一、Gin 是什么

Gin 是一个用 Go (Golang) 编写的 web 框架。 它是一个类似于 martini 但拥有更好性能的 API 框架, 由于 httprouter,速度提高了近 40 倍。

同时,它目前在 GitHub 上已经有了 50k+ 的 Star,可谓是非常热门

二、环境搭建

注意:以下步骤需要全程魔法上网

  1. 在 VScode 中安装 Go 扩展

  2. 新建 test 文件夹,并在其中新建一个 main.go

这时会提醒你下载很多工具,确认下载即可,这里就看你的网速了,记得魔法上网

  1. 终端里切换到 test 目录,并执行下面的命令
1
2
go mod init test
go get -u github.com/gin-gonic/gin
  1. 新建 main.go ,并输入
1
import "github.com/gin-gonic/gin"
  1. 再在终端中执行命令
1
go mod tidy

这一步执行完毕后,目录中应该会有 go.mod 和 go.sum 两个文件

  1. 用下面的代码测试一下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
package main

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

func main() {
// 创建一个默认的路由引擎
r := gin.Default()
// 配置路由
r.GET("/", func(c *gin.Context) {
c.String(200, "%v", "Hello World")
})
// 启动 web 服务
r.Run()
}

使用go run main.go运行,访问本机的 8080 端口能看见 Hello World

至此,环境搭建完毕

来分析一下上面的代码:

1
2
3
r.GET("/", func(c *gin.Context) {
c.String(200, "%v", "Hello World")
})

r.GET 表示用于处理 GET 请求, “/” 指的是要处理的路径,一个斜杠就是根目录,后面的跟着一个函数(此例是匿名函数)用于处理若访问了这个路径的操作,这里就返回 200(HTTP状态码) 和 一个字符串

可以复制粘贴出多个 r.GET 来处理其他路径,当然,也可以换成 POST PUT DELETE 来处理对应的请求(建议安装 postman 来更为方便地发送请求

1
r.Run()

这句用于启动服务,默认的端口是8080,可以通过传入端口号来修改而在其他端口启动服务,例如:

1
r.Run(":8000")