我正在学习Go,并且正在阅读库中的示例。我发现一些示例正在使用:
type MyType struct {
Code string
//...
}
func main() {
myType := &MyType{...}
//...
myType = &MyType{...}
}
基本上,它们正在重用变量。我知道
&MyType{..}
返回一个指针,以后我可以替换该指针。先前的指向性内存会发生什么。 GC将回收该内存还是我将浪费该内存。也许这是一个愚蠢的问题,我什么都不关心,但是我正在尝试学习Go构建性能API :) 最佳答案
内存将被垃圾收集器回收。
如果要替换该结构,可以通过以下方式进行操作:
func main() {
myType := &MyType{...}
//...
*myType = MyType{...}
}
差异可能可以忽略不计。
关于go - 替换结构的指针时,GC的行为如何,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34750679/