Sobes.tech
Middle+

Czy można jawnie wywołać ręczne sprzątanie pamięci w Go?

sobes.tech AI

Odpowiedź od AI

W Go można jawnie wywołać garbage collector za pomocą funkcji runtime.GC(). To wymusza uruchomienie procesu zbierania śmieci, ale zazwyczaj w rzeczywistych aplikacjach nie jest to zalecane, ponieważ Go efektywnie zarządza pamięcią samodzielnie.

Przykład:

package main

import (
    "fmt"
    "runtime"
)

func main() {
    var m runtime.MemStats
    runtime.ReadMemStats(&m)
    fmt.Printf("Przed GC: %d bajtów\n", m.Alloc)

    runtime.GC() // wymuszone wywołanie garbage collectora

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

Używaj runtime.GC() tylko w wyjątkowych przypadkach, gdy naprawdę musisz kontrolować moment zbierania śmieci.