Golang 中 slice cap 增长模式小记
h3l · 2020-01-13 00:43:30 在 Golang 中,我们知道数组是固定长度的。一般我们在使用时,大多数情况下使用的其实都是 slice,但是 slice 的底层的数据其实还是数组。所以我们在向 slice append 数据的时候,Golang 会检查底层的数组的长度是否已经不够,如果长度不够,Golang 则会新建一个数组,把原数组的数据拷贝过去,再将 slice 中的指向数组的指针指向新的数组。 但是,新数组的长度该如何确定呢?如果每次新数组长度只增加 1,那么每次 a...阅读全文