26 函数之内置函数
八 defer语句 8.1 defer介绍 Go语言中,函数内可以依次包含多个defer语句,在函数结束时,defer语句会逆序执行 func main() { fmt.Println("start...") defer fmt.Println(1) defer fmt.Println(2) defer fmt.Println(…
25 变量声明周期与GC机制
变量声明周期与GC机制 一 变量的生命周期 1.1 区分作用域与生命周期 变量的作用域 VS 变量的生命周期 1、作用域是一个编译时的属性:声明位置决定了作用域的层层嵌套关系而不是调用位置 2、生命明周期是一个运行时的概念:运行过程中变量会被回收 1.2 变量生命周期概述 变量的生命周期指的是在程序运行期间变量有效存在的时间间隔 变量生命周期的长短…
24 内存分布与栈逃逸
内存分布与栈逃逸 一 储备知识 1.1 程序的内存布局 程序的内存布局图如下 参见上图我们从下往上介绍 1、代码区.text:存放CPU执行的机器指令,代码区是可共享,并且是只读的。 2、数据区.rodata与.data:存放已初始化的全局变量、静态变量(全局和局部)、常量数据。 3、.bss区:存放的是未初始化的全局变量和静态变量。 4、堆区…