Sobes.tech
Middle+

Може ли явно да се извика принудително почистване на боклука в Go?

sobes.tech AI

Отговор от AI

В Go можете явно да извикате събирача на боклуци с помощта на функцията runtime.GC(). Това принуждава процеса на събиране на боклуци, но обикновено в реални приложения не се препоръчва да го правите често, тъй като Go ефективно управлява паметта самостоятелно.

Пример:

package main

import (
    "fmt"
    "runtime"
)

func main() {
    var m runtime.MemStats
    runtime.ReadMemStats(&m)
    fmt.Printf("Преди GC: %d байта\n", m.Alloc)

    runtime.GC() // принудително извикване на събирача на боклуци

    runtime.ReadMemStats(&m)
    fmt.Printf("След GC: %d байта\n", m.Alloc)
}

Използвайте runtime.GC() само в изключителни случаи, когато наистина трябва да контролирате момента на събиране на боклуци.