Go 常见问题
module 设置
修改代理 GOPROXY
go env -w GOPROXY=https://goproxy.cn,direct
修改模式 GO111MODULE
go env -w GO111MODULE=on
包引用
创建模块与调用
创建 2 个同级文件夹,go mod init 两个文件
将 Go 工具从其模块路径重定向到本地目录
同步模块的依赖项,添加代码所需的依赖项,但尚未在模块中跟踪的依赖项
go mod edit -replace example.com/greetings=../greetings
go mod tidy
go run .
方法一
go mod edit 修改路径导入本地包 失败 go mod tidy
方法二
放入路径 hello.go:6:2: package greetings is not in GOROOT (C:\ProgramFiles\Go\src\greetings) 需要管理员权限
方法三
放入路径 %home%/src cd 进入并运行 go 文件
go get -u 才会拉取下载
godoc
创建目录下载包 如果创建在 program 目录下没有权限执行,因此创建在 gopath 下的 src
|
|
创建工作区 workspaces
初始化
go work init path
生成 go.work
|
|
在 workspace 的任何子目录中,模块都会被激活
go run example.com/hello
需外网下载
git clone https://go.googlesource.com/example
将模块添加到工作区
go work use ./example
|
|
这将允许我们使用将在 stringutil 模块副本中编写的新代码,而不是使用 go get 命令下载的模块缓存中的模块版本.
workspace/example/stringutil 目录中创建一个名为 toupper.go 的新文件运行测试
发布模块
go get golang.org/x/example@v0.1.0
删除不存在 use 目录,递归添加目录
go work use [-r] [dir]
go work use -drop ./old-module
编辑 work 文件
go work edit
将列表中依赖同步到每个工作区
go work sync
编译与安装应用程序
在目录中运行, 并允许可执行文件测试
go build
查询路径
go list -f 'package'
添加 go 安装目录到系统路径中,这样就可以允许可执行文件无需指定路径
win
set PATH=%PATH%;C:\path\to\your\install\directory
或者,如果您的 shell 路径中已经有一个目录(如 $HOME/bin),并且您希望在那里安装 Go 程序,则可以通过使用 go env 命令设置 GOBIN 变量来更改安装目标:
go env -w GOBIN=C:\path\to\your\bin
更新 shell 路径后,运行 go install 命令来编译和安装包,然后可直接允许 exe
go install
更换环境进行编译
|
|