我想确保人们在编译我的应用程序时没有使用 Go 1.12 或更早版本;主要是因为这个:
return fmt.Errorf("foo: %w", err)
将在 Go 1.12 中编译良好,但实际上不会像预期的那样运行,因为它需要在 Go 1.13 或更新版本中进行运行时更改才能接受%w
.
即使有一些更改会引入编译错误,例如二进制文字或_
数字文字,更好的“你需要 Go 1.13 或更新版本”的消息会更好,更少混淆,因为不是每个人都熟悉 Go 并且知道什么与语法错误有关(似乎有些人仍在使用相当旧的 Go 版本)。
我添加go 1.13
到我的go.mod
文件中,但我仍然可以使用旧版本很好地编译它(并且go 1.16
使用 Go 1.15 添加和编译也可以)。
有没有办法在编译应用程序时要求最低 Go 版本以防止运行时错误并显示友好的错误消息?
胡子哥哥
相关分类