Go内存逃逸分析

基本概念逃逸分析(Escape analysis)是由编译器决定内存分配位置的一种技术,不需要程序员明确指定。函数中申请一个新对象时,编译器决定该对象是分配在栈中还是堆中: 如果分配在栈中,函数执行结束后内存会自动回收。 如果分配在堆中,函数执行结束后内存会交给GC(垃圾回收)处理。有了逃逸分析,返回函数局部变量变得可能,这与闭包息息相关。了解哪些场景下对象会逃逸至关
阅读全文