GOLANG 常见命令

go build

go build 命令的作用是编译 Go 源码,并生成可执行的文件。

参数名 作用
-v 编译时显示包名
-p x 指定编译时并发的数量(使用 x 表示),该值默认为 CPU 的逻辑核心数
-a 强制进行重新构建
-n 仅输出编译时执行的所有命令
-x 执行编译,并输出编译时执行的所有命令
-race 开启竞态检测

go clean

go clean 命令可以清理当前目录内的所有编译生成的文件具体包括:

  • 当前目录下生成的与包名或者 Go 源码文件同名的可执行文件,以及当前目录中 _obj 和 _test 目录中名为 _testmain.go、test.out、build.out、a.out 以及后缀为 .5、.6、.8、.a、.o和 .so 的文件,这些文件通常是执行go build命令后生成的;
  • 当前目录下生成的包名加 “.test” 后缀为名的文件,这些文件通常是执行 go test 命令后生成的;
  • 工作区中 pkg 和 bin 目录的相应归档文件和可执行文件,这些文件通常是执行 go install 命令后生成的。

go clean 命令还允许附加参数,具体参数和作用如下表所示:

参数名 作用
-i 清除关联的安装的包和可运行文件,这些文件通常是执行go install命令后生成的
-n 仅输出清理时执行的所有命令
-r 递归清楚在 import 导入的包
-x 执行清理并输出清理时执行的所有命令
-cache 清理缓存,这些缓存文件通常时执行 go build 命令后生成的
-testcache 清理测试结果

go run

go run 命令的作用是直接运行 go 源码,不在当前目录下生成任何可执行的文件。

go install

go install 命令的作用和 go build 类似,都是将源码编译为可执行的文件,附加参数也基本通用,这里就不再赘述了。区别在于:

  • go install 命令在编译源码后,会将可执行文件或库文件安装到约定的目录下;
  • go install 命令生成的可执行文件使用包名来命名;
  • 默认情况下,go install 命令会将可执行文件安装到 GOPATH\bin 目录下,依赖的三方包会被安装到 GOPATH\bin 目录下。

go get

go get 命令的作用是获取源码包,这一操作包含两个步骤,分别是下载源码和执行 go install 命令进行安装。使用时,仅需将源码仓库地址追加到 go get 后即可(访问pkg.go.dev/,搜索包名,在包详情页可以找到仓库地址),例如:

1
go get github.com/ethereum/go-ethereum

go get 命令还允许附加参数,具体参数和作用如下表所示:

参数名 作用
-d 仅下载源码包,不安装
-f 在执行-u参数操作时,不验证导入的每个包的获取状态
-fix 在下载源码包后先执行fix操作
-t 获取运行测试所需要的包
-u 更新源码包到最新版本
-u=patch 只小版本地更新源码包,如从1.1.0到1.1.16
-v 执行获取并显示实时日志
-insecure 允许通过未加密的HTTP方式获取

若要指定所获取源码包的版本,可以通过添加 “@版本号” 的方式执行。如:

1
go get github.com/ethereum/[email protected]

本文采用CC-BY-SA-3.0协议,转载请注明出处
Author: iPenge