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] |