切片
动态数组

数据结构
type slice struct {
array unsafe.Pointer
len int
cap int
}
面试题
slice 是如何扩容的?
切片扩容的具体策略如下:
如果切片当前容量小于 1024(或在 Go 1.18 及更高版本中是 256),扩容时会将容量翻倍,即新容量等于原容量的 2 倍;当切片当前容量大于等于 1024s(或在 Go 1.18 及更高版本中为 256),扩容时会将容量增大大约 25%;
slice 的内存分配?
切片(slice)的内存分配涉及到底层数组的分配和切片结构本身的创建。
底层数组的内存分配:
最后更新于