Sobes.tech
Middle+

È possibile chiamare esplicitamente la pulizia della memoria in Go?

sobes.tech AI

Risposta dell'AI

In Go, puoi chiamare esplicitamente il garbage collector usando la funzione runtime.GC(). Questo avvia forzatamente il processo di raccolta dei rifiuti, ma di solito nelle applicazioni reali non è consigliato farlo frequentemente, poiché Go gestisce efficacemente la memoria autonomamente.

Esempio:

package main

import (
    "fmt"
    "runtime"
)

func main() {
    var m runtime.MemStats
    runtime.ReadMemStats(&m)
    fmt.Printf("Prima di GC: %d bytes\n", m.Alloc)

    runtime.GC() // chiamata forzata al garbage collector

    runtime.ReadMemStats(&m)
    fmt.Printf("Dopo GC: %d bytes\n", m.Alloc)
}

Usa runtime.GC() solo in casi eccezionali, quando hai davvero bisogno di controllare il momento della raccolta dei rifiuti.