登录
首页 >  Golang >  Go问答

为什么我使用Go 1.18时在使用any而不是interface{}时收到了"未声明的名称:any"错误?

来源:stackoverflow

时间:2024-02-09 11:48:24 480浏览 收藏

有志者,事竟成!如果你在学习Golang,那么本文《为什么我使用Go 1.18时在使用any而不是interface{}时收到了"未声明的名称:any"错误?》,就很适合你!文章讲解的知识点主要包括,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

问题内容

当尝试在 go 1.18 工具链中使用 any 而不是 interface{} 时,您可能会收到错误消息:

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

这是为什么,如何解决? any 是在 go 1.18 中引入的。


正确答案


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

module example.com/foo

go 1.17

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

一般来说,每个模块的 go.mod 文件控制编译该模块时使用的 go 语言版本,这允许每个模块作者按照自己的节奏选择加入,从而更逐步地采用新的语言更改。 Go language changes 设计文档对此进行了更详细的描述。

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

今天关于《为什么我使用Go 1.18时在使用any而不是interface{}时收到了"未声明的名称:any"错误?》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>