我什么时候应该升级 go.mod 中的 Go 版本?

Ste*_*kov 6 go

通常,Go 项目将处理两个版本的 Go:

  • 主机上安装的 Go 版本
  • 定义的 Go 的最低版本go.mod

我不太明白何时升级版本,go.mod何时不升级版本(如果是这样的话)。go 1.19例如,如果我本地安装了 Go 1.16.9,那么在文件中设置是否有意义go.mod?Go 版本应该go.mod与本地安装的 Go 版本相同吗?可以更高或者更低吗?

让我感到困惑的是这个术语minimum version of Go required by the current module,即这是否类似于 Android 的最低兼容版本?较低的版本是否go.mod意味着该模块可以安装在更广泛的机器上,这是一件好事吗?

agy*_*eya 0

这取决于。

  1. 使用GoLand等 IDE ,您可以设置与本地计算机上安装的版本不同的 Go 版本。IDE 还将下载并安装所选版本。但该版本在您的 IDE 会话中有效。因此,您的go.mod文件可能具有与您最初安装的 Go 版本不同的版本

  2. 否则,如果您的计算机上只有一个版本,例如 1.16.9,并且您想在go.mod中使用 v1.19 ,则需要安装 v1.19。或者在go.mod中降级

  3. 另一个问题可能是您是否应该升级项目的 Go 版本。同样,这取决于您的项目。我的项目依赖于更高版本,因此我必须升级当前项目的 Go 版本。随着版本的变化,与标准 Go 库也会有差异。我在不同版本中面临的一个常见挑战是依赖关系解析。
    所以你可能也想留意那些。