[gin框架下载及fresh热处理配置|青训营笔记]

860 阅读3分钟

这是我参与「第五届青训营」伴学笔记创作活动的第8天

一、下载gin框架

要安装 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 包:

import "net/http"
  1. 创建你的项目文件夹并 cd 进去
$ mkdir -p $GOPATH/src/github.com/myusername/project && cd "$_"
  1. 拷贝一个初始模板到你的项目里
$ curl https://raw.githubusercontent.com/gin-gonic/examples/master/basic/main.go > main.go
  1. 运行你的项目
$ go run main.go

问题

1.版本问题,如果go的版本比较高是最新版 可以将 go get换位go install进行尝试

$ go install -u github.com/gin-gonic/gin@v1.19.5(版本号,我的是1.19.5,查看使用go version)

2.上述操作若gin框架下载不成功遇到 not found: github.com/gin-gonic/gin@v1.19.5: invalid version: unknown revision v1.19.5问题

首先 创建一个 mod 文件

go mod init xxx

然后执行命令

go mod tidy

这里可能是mod版本太老所以需要重新运行一下

然后下载并安装 gin:

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

问题得以解决

二、、fresh热处理下载

  1. cmd 打开命令窗口,输入一下命令 :
go get github.com/pilu/fresh

2.  跳转到要运行的项目的 根目录 ,运行 fresh 命令

问题

问题呈现

PS E:\workspace-gos> ll
ll : 无法将“ll”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
所在位置 行:1 字符: 1
+ ll
+ ~~
    + CategoryInfo          : ObjectNotFound: (ll:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

问题解决方法

1.下载

go get git clone https://github.com/gravityblast/fresh.git

2.安装

go install github.com/pilu/fresh@latest

3.跳转到要运行的项目的 根目录 ,运行 fresh 命令

4.测试

PS E:\workspace-gos\gin01> fresh
18:46:20 runner      | InitFolders
18:46:20 runner      | mkdir ./tmp
18:46:20 watcher     | Watching .
18:46:20 main        | Waiting (loop 1)...
18:46:20 main        | receiving first event /
18:46:20 main        | sleeping for 600 milliseconds
18:46:20 main        | flushing events
18:46:20 main        | Started! (5 Goroutines)

问题得以解决

三、gin框架的优势

Gin框架 的优点:

轻量级,高性能、扩展性强、稳定性强、相对而言比较简洁 Gin 是使用Go/golang语言实现的HTTP Web 框架 ,接口简洁,性能极高。 Gin 是一个用 Go (Golang) 编写的 web 框架。

快速

基于 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 v1 稳定的特性:
  • 零分配路由。
  • 仍然是最快的 http 路由器和框架。
  • 完整的单元测试支持。
  • 实战考验。
  • API 冻结,新版本的发布不会破坏你的代码。

gin 介绍网址分享:介绍 | Gin Web Framework (gin-gonic.com)