说白了就是动态数组
长度大小可定义,这也是比较优势的地方,一起来往下面看看吧,语句很简单,内容分也很少,但很重要
使用make()函数来创建切片
slice:=make([]type,len)//len是字节的长度可以是1024或者2048
len是数组长度也是切片的初始长度
切片初始化:
s:=[]int{1,2,3}
[]表示切片类型
初始化值依次是1,2,3 其cap=len=3
s:=make([]int,len,cap)
例如var numbers=make([]int,3,5)
len为3,cap为5
空(nil)切片 长度为0
切片截取:[:]
例如:[5:9]截取从5到9 左闭右开
append()函数和copy()函数
如果想增加切片的容量,我们必须创建一个新的更强大的切片并
把原切片的内容拷贝过来
//增加一个元素
numbers = append(numbers, 1)
printSlice(numbers)
//增加多个元素
numbers = append(numbers, 2,3,4)
printSlice(numbers)
/* 创建切片 numbers1 是之前切片的两倍容量*/
numbers1 := make([]int, len(numbers), (cap(numbers))*2)
/* 拷贝 numbers 的内容到 numbers1 */
copy(numbers1,numbers)
printSlice(numbers1)