Slice
切片通过append()添加元素时,如果超出原有的容量,底层会自动进行2倍扩容,如果元素超过1024个,则会以自身的1/4的容积进行扩容,扩容不会导致地址的变化
sli := []int{4, 5, 6}
fmt.Printf("len=%d cap=%d ptr=%p slice=%v\n", len(sli), cap(sli), &sli, sli)
//结果:len=3 cap=3 ptr=0xc000004078 slice=[4 5 6]
sli = append(sli, 12)
fmt.Printf("len=%d cap=%d ptr=%p slice=%v\n", len(sli), cap(sli), &sli, sli)
//结果:len=4 cap=6 ptr=0xc000004078 slice=[4 5 6 12]