Gin是一个用 Go (Golang) 编写的 HTTP web 框架。
文档网址:gin-gonic.com/zh-cn/
安装Goin
先更换国内源
由于历史原因,go的软件包会通过GOPATH和module两种方式去管理,而不同管理方式下go get所下载的源也不同,因此go的换源会比其他语言更加麻烦,要用两步来完成:
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn
第一个命令,是将GO111MODULE从auto模式修改为on模式。如前面提到的,go有两种包管理方式
- GOPATH方式:早期方式,会将下载的包放入GOPATH/src目录下,然后只有GOPATH/src中的包是能被程序导入的
- module方式:更现代的方式,通过在项目目录中生成go.mod文件来管理需要的包,此时go还可以导入网络上的包、本目录的包,然后缺少的包会被缓存到GOPATH/pkg目录下
GOPROXY只能修改module方式的下载源。而go get是通过哪种方式下载包,go怎样管理包依赖,取决于GO111MODULE的设置:
- auto模式下,有go.mod文件的目录下执行go get会走module方式,而没有的目录会走GOPATH方式。
- on模式下,全部都走module方式
设置好后,测试一下
输入以下命令
go env
要等一会,会输出一长串环境变量,其中有
GOPROXY="https://goproxy.cn"
可以看到GOPROXY已经被设置为goproxy.cn
在设置GOPROXY之后,我们可以通过执行以下命令来测试是否生效:
go get -v github.com/golang/example/hello
该命令会下载Golang官方提供的Hello World示例代码,并输出相关的信息。如果下载成功,则说明镜像源已经生效。
介绍一下其它常用的国内镜像源网址
-
Go 中国(www.gochina.io/ ):Go 中国是由 Go 语言中文网站推出的镜像源,提供了丰富的 Golang 包下载,并且支持 CDN 加速和多节点部署,可以有效提高下载速度和稳定性。
-
阿里云镜像(mirrors.aliyun.com/goproxy/ ):阿里云镜像是一个由阿里云推出的镜像源,提供了大量的Golang 包下载,并且速度快、稳定性高。
安装gin
- 下载并安装 gin:
go get -u github.com/gin-gonic/gin
- 将 gin 引入到代码中:
import "github.com/gin-gonic/gin"
- 可选)如果使用诸如
http.StatusOK之类的常量,则需要引入net/http包:
import "net/http"
运行第一个Gin代码
创建一个go文件,复制以下代码
package main
import "github.com/gin-gonic/gin"
func main() {
r := gin.Default()
r.GET("/ping", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "pong",
})
})
r.Run() // 监听并在 0.0.0.0:8080 上启动服务
}
运行后访问127.0.0.1:8080/ping,浏览器会返回{"message":"pong"}