1.环境配置
注意go版本一定要>=1.13
cmd下执行下面三条指令
C:\Users\Windows7>go env -w GOPROXY=https://goproxy.cn,direct
C:\Users\Windows7>go env -w GOPRIVATE=*.corp.example.com
C:\Users\Windows7>go env -w GO111MODULE=on
执行完毕就可以安装gin框架了
C:\Users\Windows7>go get -u github.com/gin-gonic/gin
编写本地server demo
package main
import (
"github.com/gin-gonic/gin"
"net/http"
)
func IndexHandler(c *gin.Context){
c.JSON(http.StatusOK,gin.H{
"message":"this is index page",
})
}
func main(){
// default启动一个默认的路由
router := gin.Default()
// 如果请求接口访问localhost:8080/hello 则调用func匿名函数
router.GET("/hello",func(c *gin.Context){
c.JSON(200,gin.H{
"message":"hello world",
})
})
router.GET("/index",IndexHandler)
router.Run()
}
2.jin框架安装完成后本地起服务报错
找不到提供包github.com/gin-gonic/gin的模块:工作目录不是模块的一部分
D:\software\gocode\src\object\gin-day1>go build -o main.exe main.go
main.go:4:2: cannot find module providing package github.com/gin-gonic/gin: working directory is not part of a module
百思不得其解,重新配置了环境,甚至重装了go服务还是不行,于是打开百度
解决方法:
执行go mod init
D:\software\gocode\src\object\gin-day1>go mod init
go: creating new go.mod: module object/gin-day1
go mod介绍:
go mod 是Golang 1.11 版本引入的官方包(package)依赖管理工具,用于解决之前没有地方记录依赖包具体版本的问题,方便依赖包的管理。
go mod init 初始化模块(例如把原本dep管理的依赖关系转换过来)
总结:
没有深入去了解go的依赖管理机制,猜测是导入包后更新一下go mod使依赖生效,真的是很烦让我搞了半天