在上一篇大概了解了Golang的简单语法及函数等相关后,我们进入到Gin框架的安装
一、安装Gin包管理工具以及类库
1、安装govendor(包管理工具):
- 必须安装git
go get github.com/kardianos/govendor
2、安装一些辅助的类库:
- 由于直接访问golang.org会因为需要梯子而无法访问,有的就算有梯子也是无法访问的
- 在这里Gin官方就很友好了,把镜像放到了Gin的官方Github上
go get -u -v github.com/ramya-rao-a/go-outline
go-outlinegoreturns。
git clone https://github.com/golang/tools.git $GOPATH/src/golang.org/x/tools
go get -v github.com/ramya-rao-a/go-outline
go get -v github.com/sqs/goreturns
go get -v github.com/rogpeppe/godef
4、以上安装好Go的最基本配置后,最后一步安装Gin
go get -u -v github.com/gin-gonic/gin
5、在这个情况下,很多同学都会因为被墙了,而导致安装失败
不用着急,在这里其实Golang在Github上已经建立了镜像库,这个开源项目goproxy.io已经实现了我们想要的东西,我们只需要配置一下环境变量代理到goproxy.io上就可以正常下载被强的包了
- 开启 Go module 功能
- 如果您使用的 Go 版本是 1.13 及以上 (推荐)
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.io,direct
go
- 如果您使用的 Go 版本是 1.12 及以下
- Bash (Linux or macOS)
# 启用 Go Modules 功能
export GO111MODULE=on
# 配置 GOPROXY 环境变量
export GOPROXY=https://goproxy.io
.profile.bash_profile
- PowerShell (Windows)
# 启用 Go Modules 功能
$env:GO111MODULE="on"
# 配置 GOPROXY 环境变量
$env:GOPROXY="https://goproxy.io"
现在,当你构建或运行你的应用时,Go 将会通过 goproxy.io 获取依赖,具体可访问:https://goproxy.io/zh/ 查看配置
- 上面配置完后,我们就可以下载被墙的包了
go get -u -v github.com/gin-gonic/gin
6、下载好后测试一下是否能成功,创建main.go写入
package main
import (
"github.com/gin-gonic/gin"
"net/http"
)
func main() {
r := gin.Default()
r.GET("/", func(c *gin.Context) {
c.String(http.StatusOK, "搭建完成")
})
r.Run(":8888") // 端口号8888
}
7、运行main.go
go run main.go
8、访问http://127.0.0.1:8888/
二、热加载调试 Hot Reload
Python 的 Flask框架,有 debug 模式,启动时传入 debug=True 就可以热加载(Hot Reload, Live Reload)了。即更改源码,保存后,自动触发更新,浏览器上刷新即可。免去了杀进程、重新启动之苦。
1、Gin 原生不支持,但有很多额外的库可以支持。例如
github.com/codegangsta/gin
github.com/pilu/fresh
2、这次,我们采用fresh
go get -v -u github.com/pilu/fresh
go run main.go执行换成fresh执行,
- 但在这块有的同学可能会碰到下面的问题
- 这个是因为项目根目录下面没有go.mod文件,创建这个文件,这个文件里面用来管理module的。
- 我们在根目录下面执行
go mod code // code是项目名
- 这个时候会默认生成一个.mod的文件,接下来我们重新执行fresh
- 执行成功后,编辑文件后,会自动检测并且编译,这样就可以免去了每次修改后都要重启的痛苦了
这样Gin的安装以及简单使用就结束了,Golang学习文章会持续更新,谢谢