7.4 切片重组(reslice)

    其中 作为切片初始长度而 capacity 作为相关数组的长度。

    这么做的好处是我们的切片在达到容量上限后可以扩容。改变切片长度的过程称之为切片重组 reslicing,做法如下:slice1 = slice1[0:end],其中 end 是新的末尾索引(即长度)。

    将切片扩展 1 位可以这么做:

    1. sl = sl[0:len(sl)+1]

    示例 7.11

    输出结果:

    1. The length of slice is 1
    2. The length of slice is 2
    3. The length of slice is 3
    4. The length of slice is 4
    5. The length of slice is 5
    6. The length of slice is 8
    7. The length of slice is 9
    8. The length of slice is 10
    9. Slice at 0 is 0
    10. Slice at 1 is 1
    11. Slice at 2 is 2
    12. Slice at 3 is 3
    13. Slice at 6 is 6
    14. Slice at 7 is 7
    15. Slice at 8 is 8
    16. Slice at 9 is 9

    另一个例子:

    1. a = a[0:4] // ref of subarray {5,6,7,8} - len(a) is now 4 but cap(a) is still 5

    问题 7.7

    1) 如果 a 是一个切片,那么 a[n:n] 的长度是多少?

    2) a[n:n+1] 的长度又是多少?