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.