我已经在文件中go 1.15指定了。go.mod当前的编译器版本如下:➜ go version
go version go1.14.4 linux/amd64然而,go build仍然成功地构建了一个二进制文件。这是预期的行为吗?不确定我可以在模块描述中找到解释。
1 回答
九州编程
TA贡献1785条经验 获得超4个赞
是的,这是预期的行为。
go.mod 更像是一个依赖关系和包管理的工具,而不是一个管理构建过程输出的工具。这就是为什么,如果您不使用 1.15 中的任何功能,它仍然应该能够被构建。
有趣的是,如果您尝试将项目设置为比您正在使用的版本更高的版本(即使用 go tool 1.14 构建的 1.15),并且您在您的项目中标记go.mod它需要使用更高版本,它'将出现在构建过程中:
# temp/test-go-build
./main.go:10:15: o.Redacted undefined (type url.URL has no field or method Redacted)
note: module requires Go 1.15
所以 go 工具会尽力满足您的需求,但不会阻止您到达您想去的地方(明白了吗?)。
- 1 回答
- 0 关注
- 208 浏览
添加回答
举报
0/150
提交
取消