内存管理是非常重要的一个话题。关于编程语言是否应该支持垃圾回收就有个搞笑的争论,一派人认为,内存管理太重要了,而手动管理麻烦且容易出错,所以我们应该交给机器去管理。另一派人则认为,内存管理太重要了!所以如果交给机器管理我不能放心。争论归争论,但不管哪一派,大家对内存管理重要性的认同都是勿庸质疑的。
Go是一门带垃圾回收的语言,Go语言中有指针,却没有C中那么灵活的指针操作。大多数情况下是不需要用户自己去管理内存的,但是理解Go语言是如何做内存管理对于写出优秀的程序是大有帮助的。
本章将从两个方面来看Go中的内存管理机制,一个方面是内存池,另一个方面是垃圾回收。