```go
var a = []int{1,2,3}
fmt.Printf("%p\n", &a)
b :=a
fmt.Printf("%p\n",&b) // 问题1、为什么b的地址跟a不同,他们不是共享底层数组吗?
b = append(b,0)
fmt.Printf("%p\n", &b) // 问题2、为什么b的地址维持不变?append时b的长度不够应该重新分配了内存空间吧
fmt.Println(a)
fmt.Println(b)
```
运行结果:
```
0xc04204c3a0
0xc04204c3e0
0xc04204c3e0
[1 2 3]
[1 2 3 0]
```
望答疑,谢谢!
有疑问加站长微信联系(非本文作者)