Sobes.tech
Junior — Middle

Ako je v jazyku Go implementované automatické zberače a uvoľňovanie pamäte?

sobes.tech AI

Odpoveď od AI

V jazyku Go je automatické zberač odpadu (garbage collector) implementovaný pomocou vstavaného zberača odpadu. Go používa algoritmus sledovania a počítania odkazov, ktorý periodicky prehľadáva pamäť, identifikuje objekty, na ktoré už nie sú odkazy, a ich uvoľní. To umožňuje vývojárom nemať starosti s manuálnou správou pamäte, čím sa znižuje pravdepodobnosť únikov a chýb.

Príklad:

package main

func main() {
    s := make([]int, 1000000) // alokácia pamäte
    _ = s
    // Po opustení rozsahu s, garbage collector automaticky uvoľní pamäť
}