问答详情
源自:5-2 Go语言-切片类型

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

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

提问者:好好学习啊 2015-07-31 01:54

个回答

  • 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

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

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

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

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

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