Go环境变量
GOROOT:Go 语言安装根目录的路径。
GOPATH:若干工作区目录的路径,我们自己定义的工作空间。
GOBIN:GO 程序生成的可执行文件(executable file)的路径。
国内镜像
https://goproxy.cn
# macOS or Linux
export GO111MODULE=on
export GOPROXY=https://goproxy.cn
# others
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
Go项目依赖项
遇到多个依赖项缺失的情况,可以通过以下步骤尝试解决:
- 清理缓存:首先,尝试清理 Go 的模块缓存,这有时能解决由缓存引起的问题。
go clean -modcache
- 拉取所有依赖项:然后,使用
go mod tidy
命令来拉取缺失的依赖项并清理不再需要的依赖项。这个命令会检查你的代码中的导入声明,并更新go.mod
和go.sum
文件以确保它们包含所有必需的依赖项。
go mod tidy
- 手动添加依赖项:如果上述命令未能解决问题,你可以根据错误信息手动运行
go get
命令来添加缺失的依赖项。例如:
go get github.com/beego/beego/v2/server/web/context@v2.1.6
go get github.com/prometheus/client_golang/prometheus@v1.16.0
go get github.com/prometheus/client_model/go@v0.3.0
- 确保使用正确的 Go 版本:有时,依赖项问题可能是因为你使用的 Go 版本与项目的要求不匹配。确保你的 Go 版本符合项目的要求。你可以通过运行
go version
查看当前 Go 版本。 - 检查 GOPATH 和 GO111MODULE:确保你的
GOPATH
设置正确,并且项目位于GOPATH
外部(如果你使用的是 Go Modules)。如果你使用的是 Go Modules(Go 1.11 及以上版本),可以通过设置环境变量GO111MODULE=on
来启用模块支持。
Go程序
- Go中main函数不支持任何返回值
- main函数不支持传入参数,在程序中通过os.Args获取命令行参数
- 通过os.Exit、os.Exit(-1)来返回状态
package main
import (
"fmt"
""
)
func main(){
fmt.Println("Hello World")
}
# 运行go源文件
go run hello_world.go
#