Go 找出一个二进制文件是用什么版本构建的?

Go 找出一个二进制文件是用什么版本构建的?,go,Go,有没有办法告诉你二进制文件是用什么go版本构建的 我的工作站上有多个go实例,因此我想验证是否使用了正确的go实例。在运行时使用以确定生成二进制文件的go版本: Version返回Go树的版本字符串。它要么是一个序列 编号或(如可能)发布标签,如“release.2010-03-04”。A. trailing+表示树当时进行了本地修改 这是我们的建筑风格 对于现有二进制文件,请使用go-version命令: 用法:go版本[-m][v][file…] 版本打印Go可执行文件的生成信息 Go ve

有没有办法告诉你二进制文件是用什么go版本构建的

我的工作站上有多个go实例,因此我想验证是否使用了正确的go实例。

在运行时使用以确定生成二进制文件的go版本:

Version返回Go树的版本字符串。它要么是一个序列 编号或(如可能)发布标签,如“release.2010-03-04”。A. trailing+表示树当时进行了本地修改 这是我们的建筑风格

对于现有二进制文件,请使用
go-version
命令:

用法:
go版本[-m][v][file…]

版本打印Go可执行文件的生成信息

Go version报告用于生成每个命名组件的Go版本 可执行文件

如果命令行上没有命名文件,go版本将打印自己的文件 版本信息

如果一个目录被命名,go版本递归地遍历该目录, 查找可识别的Go二进制文件并报告其版本。 默认情况下,go版本不会报告找到的无法识别的文件 在目录扫描期间。
-v
标志使其报告无法识别的文件

-m
标志使go版本打印每个可执行文件的嵌入 模块版本信息(如果可用)。在输出中,模块 信息由版本行后面的多行组成,每行 由前导制表符缩进的


以下命令应执行此操作:

# strings binary_path | grep 'go1\.' 
go1.5.3
使用
go版本

$go版本/usr/bin/syncthing
/usr/bin/syncthing:go1.13.10
$go版本
go版本go1.14.3 linux/amd64

事实上,当您需要知道版本而不重建二进制文件时,这是一个很好的解决方案。这很好,我的grep结果会返回多个结果。最后一个在我的案例中是正确的,你能提供一个用法示例吗?(对于那些根本不知道go的人)您需要更改应用程序二进制文件吗?
# strings binary_path | grep 'go1\.' 
go1.5.3