切片作为函数,通过append添加元素,有可能会更改地址:1)添加的数据元素长度超过切片参数的容量,则会另开辟空间,重新分配底层数组,并复制数据。3)切片名本身就是一个指针代码测试:补充说明:数组和slice之间有着紧密的联系。一个slice是一个轻量级的数据结构,提供了访问数组子序列元素的功能,而且slice的底层确实引用一个数组对象。一个slice由三个部分构成:指针、长度和容量。指针指向第一个slice元素对应的底层数组元素的地址,要注意的是slice的第一个元素并不一定就是数组的第一个元素。slice并不是真正意义上的动态数组,而是一个引用类型。slice总是指向一个底层array,slice的声明也可以像array一样,只是不需要长度。

Go语言切片前或中间插入项与内置copy()函数详解

Go语言切片前或中间插入项与内置copy()函数详解

Go语言切片前或中间插入项与内置copy()函数详解