网上所述*和&的区别 :
- & 是取地址符号 , 即取得某个变量的地址 , 如 ; &a
- *是指针运算符 , 可以表示一个变量是指针类型 , 也可以表示一个指针变量所指向的存储单元 , 也就是这个地址所存储的值 .
代码解惑:
type Person struct {
id int
name string
}
func main() {
p1 := Person{
id: 1,
name: "lisi",
}
p2 := &Person{
id:2,
name: "wang",
}
var p3 Person = Person{
3,"lap",
}
var p4 *Person =&Person{
4,"xing",
}
chang(p1) //{20 lisi}