Go

Paquete context

context.Context, cancelación, timeouts, deadlines, valores, WithCancel, WithTimeout

20 preguntas de entrevista·
Mid-Level
1

¿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?

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()?

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.

4

¿Cómo crear un context que se pueda cancelar manualmente?

5

¿Qué channel permite detectar la cancelación de un context?

+17 preguntas de entrevista

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