在讲解切片的cap概念时,s1 := arr[2:6],可以理解为从arr[2]开始切到arr[6],其value为[2, 3, 4, 5],其cap为6,此时可以理解为s1[0] == 2,s1[3] ==5,即len(s1) == 4,在Println(s1[3:6])的时候应该是打印s1[3] – s1[6],此时的s1[4] == arr[6] , s1[5] == arr[7] s1[6] ==arr[8],根据左闭右开,这里能取到s1[3:6],取不到s1[3:7]是可以理解的,切片在不指定cap大小时,继承原数组cap,而这和cap这个容量的概念有什么关系呢?如果说对arr这个数组来说,其len == cap ,我在使用s5 := arr[0:3:10]时,提示超过数组界限,也就是说cap这个概念在切片中,只是提供了一个后扩的功能,限制了后扩的数量,对数组本身是意义不大的是吗?