Sobes.tech
Middle+

Lze v Go explicitně vyvolat čištění odpadu?

sobes.tech AI

Odpověď od AI

V jazyce Go můžete explicitně zavolat garbage collector pomocí funkce runtime.GC(). To vynuceně spustí proces sběru odpadu, ale v reálných aplikacích se obvykle nedoporučuje to dělat často, protože Go efektivně spravuje paměť sám.

Příklad:

package main

import (
    "fmt"
    "runtime"
)

func main() {
    var m runtime.MemStats
    runtime.ReadMemStats(&m)
    fmt.Printf("Před GC: %d bajtů\n", m.Alloc)

    runtime.GC() // nucené volání garbage collectoru

    runtime.ReadMemStats(&m)
    fmt.Printf("Po GC: %d bajtů\n", m.Alloc)
}

Používejte runtime.GC() pouze ve výjimečných případech, když je skutečně potřeba kontrolovat okamžik sběru odpadu.