在go中,slice是对固定长度数组的一段切片,其底层是用对数值空间的指针实现的. 在slice的赋值过程中,slice的容量会被初始化成“数组长度 - slice的起点位置”,举例说明: 假设有长度为5的int数组 ? 1 arr := [5]int{1, 2, 3, 4, 5} 创建一个slice,并切出数组的中间3个值: ? 1 slice1 := arr[1:4] 打印以下slice1,得出: ? 1 [2 3 4] 看起来一切正常,是不,我们试下对slice1做append,同时打印一…