登录
首页 >  Golang >  Go问答

切片后容量变少是为什么?

来源:SegmentFault

时间:2023-01-19 16:55:12 161浏览 收藏

本篇文章给大家分享《切片后容量变少是为什么?》,覆盖了Golang的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

问题内容

func main() {
    var a [10]int
    fmt.Printf("a len=%d\n", len(a))

    s := a[1:5]
    fmt.Printf("len=%d cap=%d  slice=%v\n", len(s), cap(s), s)
}

输出

a len=10
len=4 cap=9 slice=[0 0 0 0]

为什么长度是10的数组,切片后容量变成9了?

正确答案

因为你把a[0]给去掉了,所以只剩9了,引用一张图片来说明吧

Center

图片出处:http://blog.csdn.net/zhangzhebjut/article/details/18656095

理论要掌握,实操不能落!以上关于《切片后容量变少是为什么?》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表