我正在学习Go和我正在阅读图书馆的例子。我发现一些例子正在使用:
type MyType struct {
Code string
//...
}
func main() {
myType := &MyType{...}
//...
myType = &MyType{...}
}
基本上他们正在重用变量。我知道&MyType{..}
返回一个指针,稍后我可以替换该指针。先前指出的记忆会发生什么。 GC会回收那段记忆还是会浪费那段记忆。也许这是一个愚蠢的问题,除了我试图学习Go来构建性能API之外我什么都不关心。)
答案 0 :(得分:0)
垃圾收集器将回收内存。
如果要替换结构,可以这样做:
func main() {
myType := &MyType{...}
//...
*myType = MyType{...}
}
但差异可能会微不足道。