关于切片的理解

发布时间 2023-11-04 16:17:00作者: 古加纳

slice是一个引用类型,底层引用的是数组。每次扩容后都会指向一个新的底层数组,内存地址也随之改变。

扩容规则:

在不考虑内存对齐的情况下,

1 )如果切片的大小小于1024,同时翻倍后的大小可以支持所需的切片大小,则进行翻倍扩容;否则需要按照所需的切片大小进行扩容

2) 如果切片的大小大于1024,也进行1.25倍的扩容。

考虑到内存对齐的情况,需要数量*类型值得到的大小和已经提前分配好的内存块进行匹配,获取到一个大于等于所需内存的内存块。