golang slice的复制范围说明:
代码简要说明:
func TestSli(t *testing.T) {
sl := []int{0,1}
sl2 := make([]int,0)
for i := range sl{
fmt.Println("i:",i)
sl2 = append(sl2,sl[i+1:]...)
}
fmt.Println("sl2:",sl2)
}
console output:
i: 0
i: 1
sl2: [1]
下方slice切片从索引1(包含) 到索引4(不包含)
numbers1 = numbers2[1:4]
这里可以看到sl[i+1:]在i=1时候为sl[2:]已经等于了sl的长度2,但是不会报错也不会有值传入。sl[i+1:]中i+1>len(sl)时才会报错。