Slice of GoRuntime
Contents
Overview
- array
底层指向数组的指针,是一块连续的空间
- len
大小
- cap
容量
New slice
Dilatation
slice比较有意思的是扩容阶段,slice到底是以怎样的方式进行扩容的呢?
主要逻辑在growslice
函数
注: 主要关键的两个逻辑:所需容量小于1024,2^N;大于1024,1/4缓慢递增,直至能容纳所需容量的大小
Example
往上看到了一个比较有意思的例子
|
|
输出:
|
|
Why?