Sobes.tech
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.