Senior
¿Qué es defer en Go? ¿Qué mostrará el código con dos defer?
sobes.tech AI
Respuesta de la IA
En Go, la palabra clave defer se usa para llamar a una función de manera diferida: se ejecutará después de que la función envolvente haya terminado, pero antes de que retorne.
Si hay varias declaraciones defer en una función, se ejecutan en orden inverso a su declaración (como una pila de llamadas).
Ejemplo:
package main
import "fmt"
func main() {
defer fmt.Println("Primer defer")
defer fmt.Println("Segundo defer")
fmt.Println("Código principal")
}
La salida será:
Código principal
Segundo defer
Primer defer
Es decir, primero se ejecuta el código principal, y luego las llamadas diferidas en orden inverso.