func main() {
var t=make([]int,0,10)
var s=make([]int,0,10)
fmt.Printf("addr:%p \t\tlen:%v content:%v\n",t,len(t),t);
fmt.Printf("addr:%p \t\tlen:%v content:%v\n",s,len(s),s);
result: addr:0x1044c030 len:0 content:[]
addr:0x1044c060 len:0 content:[]
t =append(s,1,2,3,4)
fmt.Println(t)
fmt.Println(s)
result: [1 2 3 4]
[]
fmt.Printf("addr:%p \t\tlen:%v content:%v\n",t,len(t),t);
fmt.Printf("addr:%p \t\tlen:%v content:%v\n",s,len(s),s); }
result: addr:0x1044c060 len:4 content:[1 2 3 4]
addr:0x1044c060 len:0 content:[]
**一开始两个切片地址不同,可以理解。
后面我进行append,容量足够的情况下,切片地址是不会变的,那为什么`s和t`的地址是一样的,它们的内容却不一样?
还有,这里发帖怎么换行?新来的,请多多关照**
有疑问加站长微信联系(非本文作者)