当前位置:  开发笔记 > 编程语言 > 正文

Go切片的长度和容量

如何解决《Go切片的长度和容量》经验,为你挑选了1个好方法。

假设我们有这样的切片

b:= make([]int, 0, 5) // length: 0, cap: 5

由"b"切片制成的"c"切片

c:= b[:2]  // length: 2 (?), cap: 5

我们为什么要为"c"长度为2的问题?我也期待长度为零,就像b一样,因为我们用b表示c



1> twotwotwo..:

是的,切片可以让你访问超出len原始切片的元素(虽然不超出它cap,或谁知道你要访问的内存).

这意味着,例如,您可以实现append类似功能,返回"增长"切片,len增加到更接近的位置cap.也就是说,append访问之间的区域len并且cap不仅可用于内置函数; 你也拥有它.看看Append:关于切片的Go博客条目中的一个示例,看它已经完成(如果有兴趣阅读整个帖子;它有助于使整个切片有意义).

切片表达式(和切片类型)和切片技巧页面上的规范也可能很有趣.

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有