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

目录


报错

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

运行后就会出现报错:

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


原因

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

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


解决方法

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

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

示例:

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


参考

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

相关推荐
别动我齐刘海1 小时前
机器人运动控制学习2——基础进阶
c++·人工智能·神经网络·学习·目标检测·机器学习·机器人
0566463 小时前
agent学习——流式响应与文本切分
网络·python·学习
for_ever_love__4 小时前
python基础语法学习: 面向对象的三大特性
开发语言·python·学习
ttwuai6 小时前
Go 后台接入 SSO 后菜单正常但接口 403,怎么排查权限链路?
开发语言·后端·golang
Canmag 兴隆磁性6 小时前
C 系列充磁机
c语言·开发语言·学习·永磁材料·充磁·退磁
PC2005-cloud6 小时前
Go学习笔记:基本概念与项目结构——GOPATH、Go Modules 与常用命令
笔记·学习·golang
ttwuai7 小时前
Go 后台图片上传到对象存储后,预览 403/404 怎么排查?
开发语言·golang
新手unity自用笔记7 小时前
unity基于Socket的网络学习
网络·网络协议·学习·unity·c#·游戏引擎
zyf1044167 小时前
暑期实践日志 Day32:完成第六章字幕添加,推进工作
学习·计算机网络·剪辑·暑期实践·课题任务
小雪崩8 小时前
嵌入式学习 day27:标准IO
linux·c语言·学习