Go slice 底层存储原理
2023-02-04 15:06:18 0 举报
深入理解 Go 语言的 slice 底层存储原理,以函数传参切片为例,解析 Go 中切片类型是值类型还是引用类型!
作者其他创作
大纲/内容
自定义函数体内部(局部)
Main 函数(全局)
0
len = 5
7
1
6
9
3
5
内部切片 sliceInner[3:8]
len = 3
代表当前书包里装了多少本书
参数传递
copy
array pointer
代表包裹能装满多少东西,超过需要换个大点的书包了
4
10
cap = 8
容量
指向切片首位元素的位置
2
扩容 *2
外部切片 sliceOuter[2:5]
8
添加元素没超过容量限制,指针不分离
还有两个可添加的位置,指针会影响到原数据,相当于修改
添加元素超过原容量,发生扩容行为,指针分离
长度
cap = 7
0 条评论
下一页