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.