【发布时间】:2016-01-12 17:58:24
【问题描述】:
我正在学习 Go,我正在阅读图书馆中的示例。我发现一些例子正在使用:
type MyType struct {
Code string
//...
}
func main() {
myType := &MyType{...}
//...
myType = &MyType{...}
}
基本上,它们是在重用变量。我知道&MyType{..} 返回一个指针,稍后我可以替换该指针。先前指向的内存会发生什么。 GC 会回收该内存还是我会浪费该内存。也许这是一个愚蠢的问题,我什么都不担心,但我正在努力学习 Go 来构建性能 API :)
【问题讨论】:
-
这就是垃圾收集的作用。如果不能引用内存,可以被GC回收。
-
如果您对此感兴趣,阅读runtime 中的一些内容可能会很有用(
GODEBUG环境变量也会有所帮助)。pprof也很有用。
标签: go garbage-collection