栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Golang中重新切片

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Golang中重新切片

c是从数组中获取的一个切片b。这不是副本,而只是的两个前两个元素的窗口b。

由于b容量为5,c可以扩展到其他3个位置(实际上,它会创建一个新的切片,但位于内存中的同一位置)。

切片的最大容量是底层数组的容量减去切片在数组中起始位置的大小:

 array : [0 0 0 0 0 0 0 0 0 0 0 0] array :  <----   capacity   ---> slice :     [0 0 0 0] slice :      <---- capacity --->  ```也许此程序将使c和d仅仅是b上的窗口:

func main() {
b := make([]int, 0, 5)
c := b[:2]
d := c[1:5] // this is equivalent to d := b[1:5]
d[0] = 1
printSlice(“c”, c)
printSlice(“d”, d)
}


输出:

c len=2 cap=5 [0 1] // modifying d has modified c
d len=4 cap=4 [1 0 0 0]
```



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/382109.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号