Sobes.tech
Senior

Čo je garbage collector v Go?

sobes.tech AI

Odpoveď od AI

Garbage collector (GC) v jazyku Go je automatický mechanizmus správy pamäte, ktorý uvoľňuje nepoužívané objekty, aby zabránil únikom pamäte. Go používa konkurentného, spúšťaného a s nízkou latenciou zberača odpadkov, ktorý pracuje paralelne s hlavným vláknom.

GC v Go sleduje objekty, na ktoré už nie sú odkazy, a uvoľňuje pamäť, ktorú zaberajú. To umožňuje vývojárom nemať starosti s manuálnou správou pamäte, a znižuje pravdepodobnosť chýb, ako je dvojité uvoľnenie alebo úniky.

Príklad:

package main

import "fmt"

func main() {
    s := make([]int, 1000000) // alokácia veľkého poľa
    fmt.Println(len(s))
    // Po ukončení funkcie je s nedostupný a bude zozbieraný GC
}

Tu, po dokončení funkcie, bude pamäť obsadená poľom automaticky uvoľnená garbage collectorem.