变量的生命周期

生命周期指在程序执行过程中变量存在的时间段。

Go语言中编译器可以选择使用堆或栈上的空间来分配,而不是基于var或new。Go语言有逃逸识别的机制,但每一次变量逃逸都需要额外的内存分配过程。
例如:
x逃逸

var global *int
func f() {
    var x int
    global = &x
}

 






posted @ 2018-07-11 18:31  一片湖海  阅读(169)  评论(0编辑  收藏  举报