Sobes.tech
Senior

Wat is de garbage collector in Go?

sobes.tech AI

Antwoord van AI

De garbage collector (GC) in Go is een automatisch mechanisme voor geheugenbeheer dat ongebruikte objecten vrijmaakt om geheugenlekken te voorkomen. Go gebruikt een concurrerende, triggerbare en lage-latentie garbage collector die parallel werkt met de hoofdthread.

De GC in Go volgt objecten waar geen verwijzingen meer naar zijn en vrijmaakt het geheugen dat ze innemen. Dit stelt ontwikkelaars in staat zich geen zorgen te maken over handmatig geheugenbeheer, en vermindert de kans op fouten zoals dubbele vrijgave of geheugenlekken.

Voorbeeld:

package main

import "fmt"

func main() {
    s := make([]int, 1000000) // allocatie van een grote slice
    fmt.Println(len(s))
    // Na het verlaten van de functie wordt s ontoegankelijk en verzameld door de GC
}

Hier wordt na afloop van de functie het geheugen dat door de slice wordt ingenomen automatisch vrijgemaakt door de garbage collector.