我用golang编写了一个简单的程序,如下所示,它确实占用了4GB的内存空间,并且在函数结束后没有释放它。如何释放占用的内存?
func main() {
wait := make(chan bool, 1)
go func() {
slice := make([]int64, 0)
for i := 0; i < 1000 * 1000 * 100; i++ {
slice = append(slice, 1)
}
}()
<- wait
}
答案 0 :(得分:-1)
GC只是将该内存标记为有用,而不是立即释放它,它们会定期释放未使用的内存,因此要真正释放内存需要一些时间。