关于类型,官网上有一段仔细地介绍了一下函数指针的部分,现在的设计比起 C 的语法,清晰很多。
也就是说,类型放在后面是为了更加清晰易懂。Rob Pike 曾经在 Go 官方博客解释过这个问题(查看原文:Go’s Declaration Syntax),简略翻译如下(水平有限翻译的不对的地方见谅):
引言
Go语言新人常常会很疑惑为什么这门语言的声明语法(declaration syntax)会和传统的C家族语言不同。在这篇博文里,我们会进行一个比较,并做出解答。
C 的语法
首先,先看看 C 的语法。C 采用了一种聪明而不同寻常的声明语法。声明变量时,只需写出一个带有目标变量名的表达式,然后在表达式里指明该表达式本身的类型即可。比如:
1 | int x; |
上面的代码声明了 x
变量,并且其类型为 int
——即,表达式 x
为 int
类型。一般而言,为了指明新变量的类型,我们得写出一个表达式,其中含有我们要声明的变量,这个表达式运算的结果值属于某种基本类型,我们把这种基本类型写到表达式的左边。所以,下述声明:
1 | int *p; |