这个题里面的 len() 和 cap() 的区别是?

来源:5-2 Go语言-切片类型

好好学习啊

2015-07-31 01:54

这个题里面的 len() 和 cap() 的区别是?

写回答 关注

4回答

  • HiramJoyce
    2019-05-24 16:22:51

    len是切片内实际内容的长度,cap是切片当前的最大容量,当向切片内添加内容时,len会不断地增长,当len要超过cap的时候,cap会进行扩容,扩容的机制是将原来的cap*2作为新的cap,但是当一次性添加多个元素导致cap*2后仍然无法满足len的要求,新的cap将会设置为len+1

  • stoneisme
    2018-10-22 16:48:34

    什么是切片动态扩展之后的长度啊?

    巴黎夜雨手插...

    因为切片的长度是 不确定的,不像数组,数组的长度是定长的

    2018-11-11 22:13:30

    共 1 条回复 >

  • _煎鱼
    2016-12-01 23:14:55

    len是当前数组或则切片的元素的个数,也就是当前数组或则的长度,而cap()可以表示切片动态扩展之后的长度。

  • 撒木
    2016-01-03 21:25:32

    len是查看数组长度,cap是查看切片长度

    qq_慕圣4...

    不对的,len也可以看切片长度的,cap是查看切片的容量。也就是切片动态扩展之后的长度(以为切片的长度是不固定的)

    2019-04-04 14:34:41

    共 1 条回复 >

Go语言第一课

Go语言入门教程,编程之必备知识扩散,打好Go语言编程基础

107795 学习 · 148 问题

查看课程

相似问题