如果变量已经完成了它的使命,那么尽快的结束其生命周期即干掉其在内存中的存在,无疑会让代码变得高效一点。
尽管go里面垃圾回收机制,但是这并不意味着我们什么也不用管。
比如将短生命周期的对象的指针保存到长生命周期的对象中,尤其是全局变量中,会阻止垃圾回收对短生命周期变量的回收,从而影响效率。
var global *int
func f(){
var x int
global = &x
}
x 虽然是局部变量,但是由于全局变量global引用了它,所有f函数结束之后,我们依然可以通过global访问它,因此它不会及时被垃圾回收