golang-slice

最近在使用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():返回数组切片当前所存储的元素个数

例子:

golang-slice_第1张图片

示例代码

运行后的结果:

golang-slice_第2张图片

结果

从上面的结果我们可以看出来,当slice的长度超过了cap()即预留的空间大小后,系统为重新为slice分配一个新的内存空间地址,slice的地址就发生了变化,这个是需要注意的地方

新手学习,以后会不断更新的...

你可能感兴趣的:(golang-slice)