【golang学习之旅】报错:a declared but not used

目录


报错

代码很简单,如下所示。可以发现a和b都飙红了:

运行后就会出现报错:

报错翻译过来就是a已经声明但未使用。当时我很疑惑,在其他语言中从来没有这种情况。况且这里的b不是赋值了吗,怎么也是显示未使用?


原因

然后我去查了些资料发现,为了保证代码的可读性、简洁性和健壮性,Go对于已声明但未使用的变量会在编译阶段报错

给这个变量赋值并不能算是使用了这个变量,所以上面的b变量也会报错。


解决方法

一个解决方法是使用_这个特殊的变量,这个变量常做占位符。被赋值后立马就会丢弃掉。

将变量赋给_这个特殊的变量也算使用过变量了。

示例:

可以看到a和b不飙红了。也能成功运行:


参考

https://cloud.tencent.com/developer/article/1849998

相关推荐
2501_9423264410 小时前
寒假高效记忆法助力学习飞跃
学习
计算机程序设计小李同学10 小时前
基于SSM框架的动画制作及分享网站设计
java·前端·后端·学习·ssm
深情的小陈同学10 小时前
工作学习笔记 —— 支持手机端的添加表单行操作
笔记·学习·ai编程
xiangshi_yan11 小时前
内核学习之路【4/100】-io
学习
am心12 小时前
学习笔记-小程序-导入商品浏览功能实现
笔记·学习
hkNaruto12 小时前
【AI】AI学习笔记:LangGraph入门 三大典型应用场景与代码示例及MCP、A2A与LangGraph核心对比
人工智能·笔记·学习
专注于大数据技术栈12 小时前
java学习--LinkedHashSet
java·开发语言·学习
副露のmagic13 小时前
更弱智的算法学习 day36
学习·算法
牛奔13 小时前
Go语言中结构体转Map优雅实现
开发语言·后端·macos·golang·xcode
科技林总13 小时前
【系统分析师】3.3 输入输出系统
学习