container/list.Remove() 的源代碼試圖通過將 nil 分配給特定變量來顯式避免內(nèi)存泄漏,我們?yōu)槭裁匆@樣做?謝謝!代碼在1.12版本的golang源碼中。// remove removes e from its list, decrements l.len, and returns e.func (l *List) remove(e *Element) *Element { e.prev.next = e.next e.next.prev = e.prev e.next = nil // avoid memory leaks e.prev = nil // avoid memory leaks e.list = nil l.len-- return e}GC不能處理這種情況嗎?
為什么 `list.Remove()` 試圖顯式避免內(nèi)存泄漏?
當(dāng)年話下
2023-06-19 15:34:15