golang的cap与len小结


小结

cap主要是为了让slice提供可变长度

概念

cap 数据类型的容量

len 数据类型的实际长度

// 数据类型为 切片,长度为5,容量为10 
a := make([]int,5,10) 
fmt.Println(a,cap(a),len(a)) // out put : [0 0 0 0 0] 10 5 

// 切片追加元素,当超过原来的的容量的时候,会翻倍扩容,但不是一定翻倍,如果容量太大不会再翻倍 
for i:=0;i<10;i++  {
    a = append(a, i) 
}
// 再对值进行修改 
for i:=0;i<10;i++  {
    a[i] = i
}
fmt.Println(a,cap(a),len(a)) // [0 1 2 3 4 5 6 7 8 9 5 6 7 8 9] 20 15


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM