![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基础知识
Eric_zhang929
一个期望不脱发的程序猿
展开
-
【Go语言学习】切片Slice的扩容机制
扩容后容量变化向切片新增一个元素时,若该切片容量已满,会首先根据切片容量进行判断,小于1024字节扩容为原有容量的2倍,大于1024字节扩容为原有容量的1.25倍扩容前容量小于1024func main(){ array := [4]int{10, 20, 30, 40} oldSlice := array[:] fmt.Printf("len = %d, cap = %d\n", len(oldSlice), cap(oldSlice)) newSlice := append(oldSlic原创 2020-05-31 20:25:57 · 818 阅读 · 1 评论 -
堆栈(栈)、堆详解
一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static...转载 2019-09-19 14:34:17 · 598 阅读 · 0 评论