切片是为了解决“数组”中扩容麻烦而存在的。
切片的创建:
1.可以用先创建一个数组,在用这个数组创建切片,例如
array := [5]int {1,2,3,4,5}
slice := array[1:2] //遵循左截右不截的口诀,此切片为 2,len = 1,cap = 4
2.直接用创建
slice := []int 创建的切片len = 0,cap =0。可以用append函数进行扩容.直接使用该切片的话,会产生越界异常。如果 slice[0]=1;
3.使用make创建
slice := make([]int,5,5)
第一个参数是要创建切片的类型,第二个切片的长度,第三个是切片的容量
切片长度和容量的关系:
切片的长度就是它所包含的元素个数,比如 array := [5]int, slice := array[2,3]。这个切片里面的元素个数就只有一个,所以len = 1.
切片的容量是该切片从第一个元素开始,到它指向的底层数组的最后一个元素。比如array := [5]int,slice := array[2:3],它的容量cap=3