在 go 模块文件 (go.mod) 中使用“go”版本指令有什么含义

给出以下 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?foo它是否会阻止针对任何其他版本的 Go编译该模块?foo或者它只是推荐/要求的 Go 版本的指标?这是一个我们应该在 Go 新版本发布时(每 6 个月)更新的指令吗?


qq_笑_17
浏览 121回答 1
1回答

月关宝盒

应按照最低要求的 Go 版本来考虑。如果您使用相同或更高版本的 Go 进行构建,那么一切都应该很好,正如Go 1 兼容性承诺所承诺的那样。如果您使用较低版本构建,如果构建失败,将会出现错误消息:go.mod 文件中的 go 指令现在指示该模块中的文件使用的语言版本。如果不存在现有版本,它将设置为当前版本(转到 1.12)。如果模块的 go 指令指定的版本比正在使用的工具链更新,则 go 命令将尝试构建包,并且仅在构建失败时才会注意到不匹配。Go 1.12 发行说明
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go