介绍
最近在鼓捣golang,记得golang刚出来的时候,新建工程还需要新建到src目录下,自go mod问世后,就没这要求了。
https://github.com/golang/go/wiki/Modules
用这个需要把golang升级到1.11以上
Go has included support for versioned modules as proposed here since 1.11.
配置
需要设置环境变量,当然,bin目录还是要加入到环境变量的path中的,除了这个,还需要配置go mod,我使用的是windows,在环境变量里配置
变量名: GO111MODULE, 变量值: on
GO111MODULE=off,go命令行将不会支持module功能,寻找依赖包的方式将会沿用旧版本那种通过vendor目录或者GOPATH模式来查找。
GO111MODULE=on,go命令行会使用modules,而一点也不会去GOPATH目录下查找。
GO111MODULE=auto,默认值,go命令行将会根据当前目录来决定是否启用module功能。
变量名:GOPATH, 变量值: 自己的golang目录
变量名: GOPROXY,变量值: https://mirrors.aliyun.com/goproxy/ 这个用于设置国内镜像,当然也可以不用设置
使用
初始化项目
go mod init myweb(你的项目名称)
初始化后会生成一个go.mod的文件,你可以在这里面包含需要的包
module myweb
go 1.15
require (
github.com/gin-contrib/sessions v0.0.3
github.com/gin-gonic/gin v1.6.2
github.com/go-sql-driver/mysql v1.5.0
gorm.io/driver/mysql v1.0.3
gorm.io/gorm v1.20.5
)
当运行go run后,会生成一个文件,go.sum,这里面列出了项目使用的所有包
ubuntu
export GOROOT=/usr/local/go
export GOPATH=/home/work/gopro
export GOBIN=$GOROOT/bin
export PATH=.:$PATH:$GOBIN
export PATH=.:$PATH:$GOPATH/bin