1.
package main; import "fmt" func test () { var a [5]int =[...]int {1,2,3,4,5}; s:=a[1:] fmt.Printf("s=%p,a[1]=%p\n",s,&a[1]) s=append(s,1); s=append(s,2) s=append(s,3) fmt.Println(s); fmt.Printf("s=%p,a[1]=%p\n",s,&a[1]) } func main () { test(); }
2.append 可以在切片后添加数据
它会先自己开辟一个内存,然后将原来的切片的内存的数组拷贝进来,再添加新的数据进去到开辟的内存中