[英]What are the implications of using the “go” version directive within a go module file (go.mod)
给定以下 go.mod 文件:
module foo
go 1.12
require (
github.com/bar/baz v1.0.0
github.com/rat/cat v1.0.0
)
go 1.12
表示什么? 它是否会阻止针对任何其他版本的 Go 编译foo
模块? 或者它只是foo
推荐/要求的 Go 版本的指标? 每当发布新版本的 go 时(每 6 个月),我们是否应该更新此指令?
应该按照最低要求的 Go 版本来考虑。 如果您使用相同或更高版本的 Go 构建,则一切都应该按照Go 1 兼容性 promise的承诺。 如果您使用较低版本构建,则构建失败时会出现错误消息:
go.mod 文件中的 go 指令现在指示该模块中的文件使用的语言版本。 如果不存在现有版本,它将设置为当前版本(转到 1.12)。 如果模块的 go 指令指定的版本比正在使用的工具链新,则 go 命令将尝试构建包,并且仅在构建失败时才会注意到不匹配。 Go 1.12 发行说明
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.