最近在使用golang进行开发,使用slice的时候遇到了一些坑
slice:用来弥补数组的不足,称之为数组切片
创建数组切片的方式
1:基于数组
var array [10]int = [10]int{1,2,3,4,5,6,7,8,9,10}
var slice []int = array[:5] //基于数组的前5个元素创建数组切片
2:直接创建
slice := make([]int,5,10) //创建一个初始元素个数为5,初始值为0,并预留10个元素的存储 空间的数组切片
内置函数:
cap():返回数组切片分配的空间大小
len():返回数组切片当前所存储的元素个数
例子:
示例代码
运行后的结果:
结果
从上面的结果我们可以看出来,当slice的长度超过了cap()即预留的空间大小后,系统为重新为slice分配一个新的内存空间地址,slice的地址就发生了变化,这个是需要注意的地方
新手学习,以后会不断更新的...
网友评论