Sobes.tech
Middle+

Je možné explicitne vyvolať odstraňovanie odpadu v Go?

sobes.tech AI

Odpoveď od AI

V jazyku Go môžete explicitne zavolať garbage collector pomocou funkcie runtime.GC(). To nútene spustí proces zberu odpadu, ale v reálnych aplikáciách sa všeobecne neodporúča to robiť často, pretože Go efektívne spravuje pamäť sám.

Príklad:

package main

import (
    "fmt"
    "runtime"
)

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

    runtime.GC() // nútené volanie garbage collectora

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

Používajte runtime.GC() iba v výnimočných prípadoch, keď naozaj potrebujete kontrolovať okamih zberu odpadu.