Sobes.tech
Senior

¿Qué es el recolector de basura en Go?

sobes.tech AI

Respuesta de la IA

El recolector de basura (GC) en Go es un mecanismo automático de gestión de memoria que libera objetos no utilizados para prevenir fugas de memoria. Go utiliza un recolector de basura concurrente, basado en desencadenantes y con baja latencia, que funciona en paralelo con el hilo principal de ejecución.

El GC en Go rastrea los objetos a los que ya no hay referencias y libera la memoria que ocupan. Esto permite a los desarrolladores no preocuparse por la gestión manual de memoria, reduciendo la probabilidad de errores como liberaciones dobles o fugas.

Ejemplo:

package main

import "fmt"

func main() {
    s := make([]int, 1000000) // asigna un gran slice
    fmt.Println(len(s))
    // Al salir de la función, s se vuelve inaccesible y será recolectado por el GC
}

Aquí, después de que la función termina, la memoria ocupada por el slice será liberada automáticamente por el recolector de basura.