Senior
Šta je garbage collector u Go?
sobes.tech АИ
Одговор од АИ
Garbage collector (GC) u Go-u je automatski mehanizam za upravljanje memorijom koji oslobađa neiskorišćene objekte kako bi sprečio curenje memorije. Go koristi konkurentni, pokrenuti i sa niskom latencijom sakupljač smeća koji radi paralelno sa glavnim nitima izvršenja.
GC u Go-u prati objekte na koje više nema referenci i oslobađa memoriju koju zauzimaju. Ovo omogućava programerima da ne brinu o ručnom upravljanju memorijom, smanjujući verovatnoću grešaka kao što su dvostruko oslobađanje ili curenje.
Primer:
package main
import "fmt"
func main() {
s := make([]int, 1000000) // dodeljuje veliki rez
fmt.Println(len(s))
// Nakon izlaska iz funkcije, s postaje nedostupan i biće sakupljen od strane GC
}
Ovde, nakon završetka funkcije, memorija koju zauzima rez biće automatski oslobođena od strane sakupljača smeća.