Sobes.tech
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.