Go语言中cap函数是干什么的?和len有什么关系?

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 返回切片的容量或数组的长度(数组没有容量的概念)。

  1. 对于切片,len 和 cap 的值可以不同,因为切片可能只是底层数组的一部分。len 是实际元素的个数,而 cap 是底层数组的长度。
  2. 对于数组,len 和 cap 的值相等,因为数组的长度是固定的。

Go语言中cap函数是干什么的?和len有什么关系?_第1张图片

你可能感兴趣的:(Go,golang,开发语言,后端)