为了账号安全,请及时绑定邮箱和手机立即绑定

为什么在使用 any 而不是 interface{} 时出现

为什么在使用 any 而不是 interface{} 时出现

Go
精慕HU 2022-11-23 14:23:37

当尝试使用any而不是interface{}Go 1.18 工具链时,您会收到错误:

undeclared name: any (requires version go1.18 or later)

为什么会这样,你如何解决它?在 Go 1.18any引入。


查看完整描述

1 回答

?
哈士奇WWW

TA贡献0条经验 获得超6个赞

如果您的 go.mod 文件列出go低于 1.18 的版本,您将收到此错误,例如:

module example.com/foo
go 1.17

将 go.mod 更改为 readgo 1.18应该可以解决错误。

通常,每个模块的 go.mod 文件控制编译该模块时使用的 Go 语言的版本,这允许每个模块作者按照自己的节奏选择加入,从而更逐步地采用新的语言更改。这在Go 语言更改设计文档中有更详细的描述。

操场上的此错误示例,包括您可以编辑的 go.mod 文件:https ://go.dev/play/p/au6TtTvNsRy


查看完整回答
反对 回复 2022-11-23

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信