
Paquete context
context.Context, cancelación, timeouts, deadlines, valores, WithCancel, WithTimeout
1¿Cuál es el rol principal del paquete context en Go?
¿Cuál es el rol principal del paquete context en Go?
Respuesta
El paquete context permite gestionar timeouts, cancelaciones y deadlines de forma coherente a través de toda la cadena de llamadas. Esto evita goroutines zombies que siguen ejecutándose cuando su resultado ya no es necesario. Siempre pase el context como primer parámetro y verifique regularmente Done() en operaciones largas para respetar las cancelaciones.
2¿Qué función crea un context vacío sin deadline ni cancelación?
¿Qué función crea un context vacío sin deadline ni cancelación?
Respuesta
context.Background() devuelve un context vacío, no cancelable, sin deadline ni valores. Sirve como punto de partida para crear contexts derivados y se usa típicamente en el main, la inicialización o los tests. Nunca use nil como context porque provoca panics al acceder a los métodos.
3¿Cuál es la diferencia entre context.Background() y context.TODO()?
¿Cuál es la diferencia entre context.Background() y context.TODO()?
Respuesta
context.TODO() sirve como placeholder cuando el context apropiado aún no está claro o disponible durante el desarrollo. context.Background() se usa para puntos de entrada reales como main o los handlers HTTP. Ambos son funcionalmente idénticos, pero TODO() documenta una intención temporal que debería reemplazarse más tarde.
¿Cómo crear un context que se pueda cancelar manualmente?
¿Qué channel permite detectar la cancelación de un context?
+17 preguntas de entrevista
Otros temas de entrevista Go
Fundamentos de Go
Estructuras de datos en Go
Interfaces en Go
Manejo de errores
Goroutines básicas
Channels
Go Modules
Servidor HTTP
Cliente HTTP
Codificación JSON
Database/SQL
Testing
Patrones de concurrencia
Primitivas de sincronización
Frameworks web de Go
Diseño de API REST
gRPC
Reflection
Gestión de memoria
Optimización del rendimiento
Generics
Go Design Patterns
Microservices
Seguridad y autenticación
Docker & Containerization
Kubernetes Basics
Go Avanzado
Desarrollo de CLI
Domina Go para tu próxima entrevista
Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.
Empieza gratis