环境变量
GOPROXY = https://goproxy.io,direct
或者 https://goproxy.cn,direct
GO111MODULE = auto
GO111MODULE=off,无模块支持,go命令行将不会支持module功能,寻找依赖包的方式将会沿用旧版本那种通过vendor目录或者GOPATH模式来查找。
GO111MODULE=on,模块支持,go命令行会使用modules,而一点也不会去GOPATH目录下查找。
GO111MODULE=auto,默认值,go命令行将会根据当前目录来决定是否启用module功能。这种情况下可以分为两种情形:
(1)当前目录在GOPATH/src之外且该目录包含go.mod文件,开启模块支持。
(2)当前文件在包含go.mod文件的目录下面。
查看 go env
代理
Bash (Linux or macOS)
# 配置 GOPROXY 环境变量
export GOPROXY=https://goproxy.io,direct
# 还可以设置不走 proxy 的私有仓库或组,多个用逗号相隔(可选)
export GOPRIVATE=git.mycompany.com,github.com/my/private
PowerShell (Windows)
# 配置 GOPROXY 环境变量
$env:GOPROXY = "https://goproxy.io,direct"
# 还可以设置不走 proxy 的私有仓库或组,多个用逗号相隔(可选)
$env:GOPRIVATE = "git.mycompany.com,github.com/my/private"
创建依赖
用于发布
go mod init qg/gomvc/demo
引用第三方包 pkg.go.dev
import "github.com/xuri/excelize/v2"
安装依赖包 go mod tidy
手动单独安装包 go get github.com/xuri/excelize/v2
Hello World
package main
import "fmt"
func main() {
fmt.Printf("Hello.\n")
}
运行go
go run .
或
go run hello.go
编译
go build -ldflags "-s" hello.go