Middle+
É possível chamar explicitamente a limpeza de lixo em Go?
sobes.tech IA
Resposta da IA
Em Go, pode chamar explicitamente o recolhimento de lixo usando a função runtime.GC(). Isto inicia forçosamente o processo de recolha de lixo, mas normalmente em aplicações reais não é recomendado fazer isso com frequência, pois o Go gere a memória de forma eficiente por si só.
Exemplo:
package main
import (
"fmt"
"runtime"
)
func main() {
var m runtime.MemStats
runtime.ReadMemStats(&m)
fmt.Printf("Antes do GC: %d bytes\n", m.Alloc)
runtime.GC() // chamada forçada ao recolhimento de lixo
runtime.ReadMemStats(&m)
fmt.Printf("Depois do GC: %d bytes\n", m.Alloc)
}
Use runtime.GC() apenas em casos excecionais, quando realmente precisa de controlar o momento do recolhimento de lixo.