变量&地址&指针指针
每一个变量在运行时都拥有一个地址,这个地址表明变量在内存中的位置。Go 语言中使用&做符放在变量前面对变量进行“取地址”操做。code
ptr := &v // v的类型为T
其中 v 表明被取地址的变量,被取地址的 v 使用 ptr 变量进行接收,ptr 的类型就为*T,称作 T 的指针类型。*表明指针。内存
取地址操做符&和取值操做符*是一对互补操做符,&取出地址,*根据地址取出地址指向的值。变量
总结1:变量、指针和地址三者的关系是:每一个变量都拥有地址,指针的值就是地址。总结
总结2:取地址操做符&和取值操做符*是一对互补操做符,&取出地址,*根据地址取出地址指向的值。语言
最后大大的结果就是:取址用&,取值用*co
var a = 1; p = &a; //p接受 a的地址 func go (*p) { //传递a的地址 p变量的值为1. }