Sobes.tech
Senior

Mis on garbage collector Go-s?

sobes.tech AI

Vastus AI-lt

Go jäätmekäitluse (GC) mehhanism on automaatne mälu haldamise, mis vabastab kasutamata objektid, et vältida mälu lekked. Go kasutab konkurentsivõimelist, käivitatavat ja madala latentsusega jäätmekogurit, mis töötab paralleelselt peamise täitmisvooga.

GC jälgib objekte, millele enam viiteid ei ole, ja vabastab nende poolt hõivatud mälu. See võimaldab arendajatel mitte muretseda käsitsi mälu haldamise pärast ning vähendab vigade, nagu topeltvabastamine või lekked, tõenäosust.

Näide:

package main

import "fmt"

func main() {
    s := make([]int, 1000000) // suur lõik
    fmt.Println(len(s))
    // Pärast funktsiooni lõppu muutub s kättesaamatuks ja kogutakse GC poolt
}

Siin, pärast funktsiooni lõpetamist, lõigu poolt hõivatud mälu vabastatakse automaatselt jäätmekoguri poolt.