Go 一个切片只有一个元素,名为list,为什么子切片list[1:]可以工作?
一个切片只有一个元素,名为list,为什么子切片list[1:]可以工作? 例如:Go 一个切片只有一个元素,名为list,为什么子切片list[1:]可以工作?,go,Go,一个切片只有一个元素,名为list,为什么子切片list[1:]可以工作? 例如: list := []int{1} fmt.Println(list[1:]) fmt.Println(list[1]) 列表中没有索引为1的元素,因此第三行导致“恐慌:运行时错误:索引超出范围”,但是为什么第二行工作得很好呢?嗯,语言只是将其定义为有效 将subslice中使用的索引视为指向“元素之间”: Slice a Elements: | 0 | 1 | 2 | 3 | 4 | 5 | Subslic
list := []int{1}
fmt.Println(list[1:])
fmt.Println(list[1])
列表中没有索引为1的元素,因此第三行导致“恐慌:运行时错误:索引超出范围”,但是为什么第二行工作得很好呢?嗯,语言只是将其定义为有效
将subslice中使用的索引视为指向“元素之间”:
Slice a Elements: | 0 | 1 | 2 | 3 | 4 | 5 |
Subslice a[2:] ^===============
Subslice a[2:4] ^===========^
Subslice a[6:] ^
空切片的列表[1:]切片。一个切片可以有零个元素<代码>列表[1://code>就是这样一个切片的例子。