Domina el uso de defer: LIFO, evaluación y closures
Entiende cómo se evalúan los argumentos de un defer y por qué su uso en bucles puede causar fugas de memoria.
Entiende cómo se evalúan los argumentos de un defer y por qué su uso en bucles puede causar fugas de memoria.
Explica la diferencia entre errores de control y pánicos, el alcance de recover y el peligro de los panics en goroutines no protegidas.
Cómo usar recover para evitar que un panic mate el servidor HTTP sin comprometer la estabilidad.
Aprende a distinguir entre errores manejables (runtime) y violaciones de invariantes (bugs) para decidir cuándo usar panic o error.
Domina el manejo de errores en Go usando errores centinela, tipos personalizados y patrones de envoltorio para mantener la lógica y el contexto.
Aprende a inspeccionar errores envueltos mediante sentinels y tipos personalizados usando las funciones de la librería errors.
Aprende a usar %w para añadir contexto a los errores sin perder la capacidad de inspección con errors.Is y errors.As.
Aprende a usar errors.New y fmt.Errorf para gestionar sentinels y errores envueltos con contexto sin perder la trazabilidad.
Entiende por qué Go trata los errores como valores y cómo este diseño fomenta un control de flujo explícito y seguro.
Explica cómo Go optimiza genéricos agrupando tipos con la misma representación de memoria para evitar la explosión del tamaño del binario.