请考虑以下 Go 代码:
type LargeStructWithNestings struct {...}
func generatorChnl() <-chan *LargeStructWithNestings { ... }
// code snippet
chnl := generatorChnl()
for entry := range chnl { // line A
doStuffWith(entry)
entry = nil // line B
}
假设通道不经常生成值,并且这些是指向大型结构的指针,那么上述是否会导致对 by 所指向的内存的垃圾回收发生得比原本更早发生?或者,一旦循环旋转回 ,一旦下一个迭代块位于 ?line Bentryline Aentryline A
目标是找到一种方法,如果可能的话,保持常驻集大小修剪。
慕婉清6462132
相关分类