Go

Pacote context

context.Context, cancelamento, timeouts, deadlines, valores, WithCancel, WithTimeout

20 perguntas de entrevista·
Mid-Level
1

Qual é o papel principal do pacote context em Go?

Resposta

O pacote context permite gerenciar timeouts, cancelamentos e deadlines de forma consistente em toda a cadeia de chamadas. Isso evita goroutines zumbis que continuam rodando quando seu resultado não é mais necessário. Sempre passe o context como primeiro parâmetro e verifique regularmente Done() em operações longas para respeitar os cancelamentos.

2

Qual função cria um context vazio sem deadline nem cancelamento?

Resposta

context.Background() retorna um context vazio, não cancelável, sem deadline nem valores. Serve como ponto de partida para criar contexts derivados e é tipicamente usado no main, na inicialização ou em testes. Nunca use nil como context, pois isso causa panics ao acessar os métodos.

3

Qual é a diferença entre context.Background() e context.TODO()?

Resposta

context.TODO() serve como placeholder quando o context apropriado ainda não está claro ou disponível durante o desenvolvimento. context.Background() é usado para pontos de entrada reais como main ou handlers HTTP. Ambos são funcionalmente idênticos, mas TODO() documenta uma intenção temporária que deveria ser substituída depois.

4

Como criar um context que pode ser cancelado manualmente?

5

Qual channel permite detectar o cancelamento de um context?

+17 perguntas de entrevista

Domine Go para sua proxima entrevista

Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.

Comece gratis