Sobes.tech
Senior

Co je to garbage collector v Go?

sobes.tech AI

Odpověď od AI

Garbage collector (GC) v jazyce Go je automatický mechanismus správy paměti, který uvolňuje nepoužívané objekty, aby zabránil únikům paměti. Go používá konkurenční, spouštěný a s nízkou latencí sběrač odpadků, který pracuje paralelně s hlavním vláknem.

GC v Go sleduje objekty, na které již nejsou odkazy, a uvolňuje paměť, kterou zabírají. To umožňuje vývojářům nemuset se starat o ruční správu paměti, a snižuje pravděpodobnost chyb, jako je dvojité uvolnění nebo úniky.

Příklad:

package main

import "fmt"

func main() {
    s := make([]int, 1000000) // alokace velkého pole
    fmt.Println(len(s))
    // Po ukončení funkce je s nedostupný a bude sesbíráno GC
}

Zde, po dokončení funkce, bude paměť obsazená polem automaticky uvolněna garbage collectorem.