Sobes.tech
Junior — Middle

¿Puedes explicar el principio de funcionamiento y la aplicación de la construcción defer en el lenguaje Go?

sobes.tech AI

Respuesta de la IA

En Go, la palabra clave defer se utiliza para llamar a una función de forma diferida: esta se ejecutará en el momento de salir de la función actual, independientemente de cómo se produzca la salida (normalmente o por error). Esto es útil para liberar recursos, cerrar archivos, desbloquear mutexes y otras operaciones de limpieza.

Ejemplo:

func readFile(filename string) error {
    file, err := os.Open(filename)
    if err != nil {
        return err
    }
    defer file.Close() // el archivo se cerrará al salir de la función

    // trabajo con el archivo
    return nil
}

De esta manera, defer ayuda a escribir un código más limpio y seguro, garantizando la ejecución de acciones importantes de finalización.