Golang的slice为何一定要len和cap二者

空即是色即是色即是空 ·
liangjfblue
i am ok
cap就是方便扩容的. 如果单纯只有ptr和len, **内部还要有一个变量A来记录slice的元素个数, 这样每次插入的时候都会对变量A自增并且判断是否大于len,** 但在此时, 也会对len自增的, 这样就会有多次的赋值操作. 有了cap后, 就可以避免了对上面粗体的维护变量A的步骤, 单纯的判断是否要扩容就ok, 效率提高了.
#1