[英]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.