Go语言切片
切片可以传入三个参数,分别是[low, high, max]
,取元素就是从low开始,取high - low个数(等同于Java和Python),max - low的数作为新的切片的容量cap,可以不传max,当max不传时,容量默认和长度len相同。
即:新切片的len = high - low,cap = max - low
示例:
1 | func main() { |
注意:切片包头不包尾
视图
由数组执行切片所返回的对象是一个view
,即视图,若我们在视图上操作数组,会改变原数组
1 | func updateSlice(arr []int) { // 接收一个切片的view作为参数,而不是不限制长度的数组 |
补充:可以在view的基础上继续执行切片(slice),称为Reslice