golang a[i++] 为什么会报错

本文探讨了Go语言中i++与C语言的区别。在C语言中,i++是一个表达式,而在Go语言中则被视为一条语句,没有返回值,不能作为表达式使用。这导致了在Go中直接使用i++会报错。文章通过对比两种语言的语法特性,帮助初学者理解这一差异,并提供了进一步学习汇编的资源。
摘要由CSDN通过智能技术生成

golang的初学者相信和我会遇到同样的问题,如下图在C语言中没问题,但在go语言中却报错

,经过查找资料发现

我们可以把C语言中的 i++ 看成一个表达式;而go语言中是一条语句

表达式是一段可以被求值的代码,也就是可以有接收者;而语句是可以被执行的代码,不一定会有接收者。从上面的例子来看,Go中的i++是语句,它不能有接收者,相当于一条可以被编译器识别的命令,类似于break,goto这种语句,所以在程序在编译期间就会报错。

故go语言中i++没有返回值,不能被接收

想从汇编层面理解请跳转:https://zhuanlan.zhihu.com/p/361355844

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值