Go语言学习7:Go语言为什么要用变量名后置的方式做声明

本文探讨Go语言为何采用变量名后置的声明方式,对比C语言的声明方式,指出在处理指针和函数指针时的复杂性。Go语言虽然大部分采用变量名后置,但在使用时仍会出现如*p这样的写法,以避免与乘法操作符混淆。
摘要由CSDN通过智能技术生成

我一直很好奇,Go语言为什么要采用这种把类型放在后面的声明方式。今天得空来学习一下:

首先,我们来看一下c语言的声明方式:

int x;这是一个典型的c语言声明,它声明了一个整型的变量x。这样看来c语言的声明还算是简单明了,但是当遇到指针声明,尤其是函数指针的时候,问题就变得复杂了,就不是一眼能够看清楚的了:

int (*fp)(int (*ff)(int x, int y), int b)
上面声明了一个函数指针fp,该函数带有连个参数,第一个是一个函数指针,第二个是一个整数,我们知道c语言声明的时候是可以不带变量名的,于是,上面的声明可以修改为下面的这个样子:

int (*fp)(int (*)(int, int), int)
这样的表达已经有点看不清楚了,如果函数的返回值也是函数指针:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值