如果不存在指针类型,定义变量时不就可以吧类型放在名称前面了吗?刚接触Go,正在凌乱中。
更多评论
指针类型用于传递地址, 而不是传递值, 因为 golang 的函数, 所有的参数都是传递一个复制的值. 如果值的体积过大, 那么就会严重降低效率, 而传递一个地址, 就会大大提高效率.
另外传递指针也能让 go 函数实现对变量值的修改.
关于类型放在变量的后面, 一方面可以合并同类型变量, 另外一方面也能省略变量, 在 := 环境中自动推导变量类型, 总之, 放在后面, 可以让类型在很多情况下可以省略, 而放在前面的话, 就不能省略了.
#2
指针的用处还有一个, 如果一个复杂类型的值被传递了若干次后, 和自己比较, 虽然用于保存的容器和名称变了, 但用于保存值的地址不变, 这个时候, 只要使用指针进行对比, 就知道还是原来的东西.
#3