slice在删除头部元素时,cap=cap-1,删除非头部就不会,这是什么原因?
来源:3-3 切片的操作

慕后端1435519
2019-06-15
写回答
1回答
-
同学可以再会看一下3-2切片的概念。
cap是从slice头部开始,到底下的数组结尾的大小。删除头部节点,是说类似a[1:]吧,头部往后移了一位,但是下面所看到的数组还是原本的数组,所以cap变小了。
非头部的话,类似a[:3],这样的话,这个slice的头部不变,底下看到的数组还是原来的数组,所以cap不变。此时如果使用append的话,会覆盖掉3之后的元素。
212019-06-17
相似问题