簡體   English   中英

在 go 模塊文件 (go.mod) 中使用“go”版本指令的含義是什么

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM