最新go get 和 go install 详解

最新go get 和 go install 详解

go版本1.20

1、在Go中具有许多第三方包,我们可以通过import导入这些包,并在程序中使用。

我们可以在程序中可以使用可以使用go getgo install命令下载并安装第三方包,并导入我们的程序中。
基本语法为:
go get [package]
go install [package]
那么go getgo install命令有什么区别,分别在什么情况下使用呢?

2、get和install命令区别。

get命令用于从远程拉取包的源代码并存放在你的工作区,如果源代码为可执行代码,它还会紧接着执行go install,将源码编译为可执行文件。并存放在bin目录下。
例如:运行
go get example.com/package
在有需要时,可以使用 @ 符号指定特定的版本。例如:
go get example.com/package@v1.1.1
在最新的Go1.20中,Go 将会下载 example.com/package 的源代码,并将其安装到你的工作区的pkg文件夹下的mod文件夹中。

如果有些Go包为命令行工具,那么它将会紧接着执行install命令把命令行的可执行文件放置在你的 bin 目录下。如果你希望只拉取包,而不下载可执行文件,那么你可以运行:
go get -d example.com/package

如果你不知道你的工作区,你可以使用go env | grep GOPATH查看你当前工作区,
可以使用go env | grep GOBIN,查看你的可执行文件存放的bin目录。

install命令用于编译并安装包。它会将远程包的二进制文件(即可执行文件)安装到工作区的 bin 目录下,而不会下载包的源代码。
例如运行:
go install example.com/package将不会下载源代码,只会下载命令行的可执行代码。

3、get可选参数。

最后贴一个可选参数。

get命令的可选参数

附加参数备注
-v显示操作流程的日志及信息,方便检查错误
-u下载并安装所有的包和依赖的包的,以保证它们都是最新的版本,然后重新编译和安装。如果不包含该标志参数的话,而且如果该包本地已经存在,那么这个包的代码将不会被自动更新。
-d只下载代码包,不安装代码包
-insecure允许使用不安全的 HTTP 方式进行下载操作
-t同时也下载需要为运行测试所需要的包
-fix在下载代码包后先运行一个用于根据当前 Go 语言版本修正代码的工具,然后再安装代码包

install命令可选参数

参数名格式含义
-o-o file指定编译后二进制文件名
-a-a强制重新编译涉及的依赖
-s-s省略符号表并调试信息
-w-w省略 DWARF 符号表
-p-p指定编译过程中的并发数,默认为 CPU 数
-work-work设置该参数后不会在程序结束后删除编译的临时文件,可用于查看编译生成的文件
-n-n加上该参数可以查看编译的过程,但不会继续执行编译后的二进制文件
-x-x加上该参数可以查看编译的过程,会继续执行编译后的二进制文件
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值