编译Go程序相关版本问题:依赖编译版本及主代码与依赖版本一致性
Go编译依赖的版本及主代码与依赖的编译版本问题
编译依赖代码时使用的Go版本:
编译依赖用的是你本地当前运行的Go工具链版本。依赖的go.mod文件里的go <version>只是声明该模块需要的最低Go版本,用来做语法兼容性校验,实际编译时,不管依赖声明的版本是什么,都会用你本地安装的那个Go版本来编译依赖代码。主代码与依赖代码的编译版本一致性:
主代码和依赖代码会用同一个Go版本编译。Go在构建项目时,会统一使用当前环境的Go工具链版本编译整个项目的所有代码,包括主模块和所有依赖模块,不会出现主代码用一个版本、依赖用另一个版本的情况。
补充说明:如果依赖用了当前Go版本不支持的语法或特性,构建会直接报错;如果依赖的最低要求版本低于当前Go版本,高版本工具链能向下兼容,不会有问题。
内容的提问来源于stack exchange,提问作者entropy
相关产品推荐
相关产品推荐

