Go中 使用 & 字符放在变量前面对变量进行“取地址” 操作。 Go中的值类型(int,float,bool,string,array,struct) 都有对应的指针类型,如
(*int, *int64, *string等)
栗子:
func main() { a := 10 b := &a fmt.Printf("a:%d ptr:%p\n", a, &a) // a:10 ptr:0xc00001a078 fmt.Printf("b:%p type:%T\n", b, b) // b:0xc00001a078 type:*int fmt.Println(&b) // 0xc00000e018 }
相当于 把 a 变量的内存地址 放到了 b 变量的值中,而b也有他自己的内存地址。
原文:https://www.cnblogs.com/s686zhou/p/12852740.html