Go 语言切片(Slice)
切片(“动态数组”)是对数组的抽象,数组是长度不变的,切片可以追加元素。
定义切片:
var identifier []type
slice := make([]type, len)
切片初始化:
s := []int{1,2,3}
s := arr[startIndex:endIndex] 将arr中从下标startIndex到endIndex-1 下的元素创建为一个新的切片
len() 和 cap() 函数
切片是可索引的,并且可以由 len() 方法获取长度。
切片提供了计算容量的方法 cap() 可以测量切片最长可以达到多少。
append() 和 copy() 函数
如果想增加切片的容量,我们必须创建一个新的更大的切片并把原分片的内容都拷贝过来。
下面的代码描述了从拷贝切片的 copy 方法和向切片追加新元素的 append 方法。