GO环境搭建:
go的环境变量
export GO111MODULE=on
export GOSUMDB=sum.golang.org
export GOPROXY=https://goproxy.cn,direct // 代理
export GOROOT=/home/xx/go //go源码安装路径
export GOPATH=/home/xx/data/gopath
gopath 下有src ,bin, pkg
src 存放go源码
bin 存放 go build 生成的可执行文件
pkg里存放.a文件
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOROOT/bin:$GOBIN
GO111MODULE:
用环境变量 GO111MODULE
开启或关闭模块支持,它有三个可选值:off
、on
、auto
,默认值是 auto
。
GO111MODULE=off
无模块支持,go 会从 GOPATH 和 vendor 文件夹寻找包。GO111MODULE=on
模块支持,go 会忽略 GOPATH 和 vendor 文件夹,只根据go.mod
下载依赖。GO111MODULE=auto
在$GOPATH/src
外面且根目录有go.mod
文件时,开启模块支持。
在使用模块支持的时候,GOPATH
是无意义的,不过它还是会把下载的依赖储存在 $GOPATH/src/mod
中,也会把 go install
的结果放在 $GOPATH/bin
中。
GO编译:
go build
编译一个二进制可执行程序,用于编译指定的源码文件或代码包以及它们的依赖包。生成的二进制文件可以直接在别的机器上使用
go run
直接编译+运行go代码文件
go install
编译一个二进制可执行程序,放在GOBIN目录下,也就是在$GOPATH/bin目录下
====
GO学习过程中遇到的错误
1 go: cannot find main module; see 'go help modules' 解决方案
go mod init test.go(版本1.11.4,好像新版本的要用这个命令,哪个版本开始的不太清楚)