go的指针采用了c语言指针的语法,我们需要特别关注&和*,&表示地址操作符,可以得到指定变量的内存地址。
打印出来的是abc的地址,我们可以通过在变量前面加*对其进行解引用
打印出来是10
指针类型可以跟其他普通类型一样,出现在所有需要用到类型的地方,如变量声明、函数形参、返回值类型、结构字段类型等。
打印出abc is a string
所以指针的基本用法就是使用变量指向一个地址,通过&前缀来表示地址,通过前缀*来解引用得出具体变量的值。
也可以通过前缀*来对具体的值进行修改。
指针经常会跟结构体一起使用,如果把结构体当做参数,想要修改结构体的值,传递结构体指针是比较好的方法
在函数中使用hero.Name就可以修改Name的值。
跟结构体一样,我们也可以通过将地址操作符&放置在数组复合字面量的前面来创建指向数组的指针。