首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么在使用any而不是接口{}时,我会得到“未声明的名称: any (需要版本go1.18或更高版本)”?我用的是Go 1.18

为什么在使用any而不是接口{}时,我会得到“未声明的名称: any (需要版本go1.18或更高版本)”?我用的是Go 1.18
EN

Stack Overflow用户
提问于 2022-03-15 18:48:08
回答 1查看 8.7K关注 0票数 6

当尝试在Go 1.18工具链中使用any而不是interface{}时,您可以得到以下错误:

代码语言:javascript
复制
undeclared name: any (requires version go1.18 or later)

为什么是这样,你怎么能解决呢?any在Go 1.18中是介绍

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-15 18:48:08

如果go.mod文件将go版本列在1.18以下,则会出现此错误,如:

代码语言:javascript
复制
module example.com/foo

go 1.17

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

一般来说,每个模块的go.mod文件控制编译该模块时使用的Go语言的版本,这允许更逐步地采用新的语言更改,每个模块的作者都选择以自己的速度加入。这在Go语言变化设计文档中有更详细的描述。

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

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71487498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档