Sobes.tech
Junior — Middle

Jak je v jazyce Go implementována automatická správa paměti a její uvolnění?

sobes.tech AI

Odpověď od AI

V jazyce Go je automatické shromažďování a uvolňování paměti implementováno pomocí vestavěného sběrače odpadků (garbage collector). Go používá algoritmus sledování a počítání odkazů, který periodicky prohledává paměť, identifikuje objekty, na které již nejsou odkazy, a uvolňuje je. To umožňuje vývojářům nemuset se starat o ruční správu paměti, čímž se snižuje pravděpodobnost úniků a chyb.

Příklad:

package main

func main() {
    s := make([]int, 1000000) // alokace paměti
    _ = s
    // Po opuštění rozsahu s, garbage collector automaticky uvolní paměť
}