import "fmt"
func main() {
arr := [5]int{1, 2, 3, 4, 5}
slice := arr[1:3] //左闭右开
fmt.Println(len(slice)) // 输出: 2,实际元素个数
fmt.Println(cap(slice)) // 输出: 4,底层数组的长度(从索引1到末尾)
}
len 返回切片或数组的实际元素个数,而 cap 返回切片的容量或数组的长度(数组没有容量的概念)。
- 对于切片,len 和 cap 的值可以不同,因为切片可能只是底层数组的一部分。len 是实际元素的个数,而 cap 是底层数组的长度。
- 对于数组,len 和 cap 的值相等,因为数组的长度是固定的。