在 Go 1.21 版本之前,go.mod 文件中我们常见的指令无非是 module、go、require、replace 等几个老朋友。然而,当你打开一个较新的 Go 项目时,可能会发现一个陌生的面孔——toolchain 指令。这个从 Go 1.21 引入的新特性,究竟扮演着什么角色?它又能为我们的项目带来哪些好处?这篇文章就来揭开它的神秘面纱。
简单来说,toolchain 指令用于声明构建当前模块所需的 Go 工具链版本。它是 Go 团队为了解决多版本 Go 环境共存问题而引入的重要特性。
让我们先看一个典型的 go.mod 文件示例: