前言 在C/C++开发中,动态分配内存(new/malloc)需要我们手动释放资源。这样做的好处是,需要申请多少内存空间可以很好的掌握怎么分配。但是这有个缺点,如果忘记释放内存,则会导致内存泄漏。在很多高级语言中(python/Go/java)都加上了垃圾回收机制。 golang内存分配之堆和栈 Go的垃圾回收,让堆和栈堆程序员保持透明。真正解放了程序员的双手,让他们可以专注于业务,“高效”地完成代码编写。把那些内存管理的复杂机制交给编译器。 栈 可以简单得理解成一次函数调用内部申请到的内存,它们会随着函数的返回把内存还给系统。下面来看看一个例子: func F() { temp :=