在C语言中,声明语法受到声明遵循用法的原则的启发,例如
int *p
就其意义而言; *p确实是int。
*p
int
但是C最终得到了螺旋式语法,当声明变得复杂时,它变得混乱而晦涩难懂,因此Go切换到更直接的从左到右语法:
p *int
到目前为止,很好。可以将其理解为“ p是指向int的指针”。
但是等等:在Go语言中,与C语言一样,'指针'运算符不是*,而是&。
*
&
为什么Go中的指针声明不像p &int那样写?是否保持尽可能接近C?还是还有其他原因?
p &int