Senior
Cos'è il garbage collector in Go?
sobes.tech AI
Risposta dell'AI
Il garbage collector (GC) in Go è un meccanismo automatico di gestione della memoria che libera gli oggetti non più utilizzati per prevenire perdite di memoria. Go utilizza un garbage collector concorrente, triggerato e a bassa latenza, che lavora in parallelo con il thread principale.
Il GC in Go traccia gli oggetti a cui non ci sono più riferimenti e libera la memoria che occupano. Questo permette agli sviluppatori di non doversi preoccupare della gestione manuale della memoria, riducendo la probabilità di errori come doppie liberazioni o perdite.
Esempio:
package main
import "fmt"
func main() {
s := make([]int, 1000000) // assegna un grande slice
fmt.Println(len(s))
// Dopo l'uscita dalla funzione, s diventa inaccessibile e sarà raccolto dal GC
}
Qui, dopo che la funzione termina, la memoria occupata dal slice sarà automaticamente liberata dal garbage collector.