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 的值相等,因为数组的长度是固定的。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值