
Pacote context
context.Context, cancelamento, timeouts, deadlines, valores, WithCancel, WithTimeout
1Qual é o papel principal do pacote context em Go?
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.
2Qual função cria um context vazio sem deadline nem cancelamento?
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.
3Qual é a diferença entre context.Background() e context.TODO()?
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.
Como criar um context que pode ser cancelado manualmente?
Qual channel permite detectar o cancelamento de um context?
+17 perguntas de entrevista
Outros temas de entrevista Go
Fundamentos de Go
Estruturas de dados em Go
Interfaces em Go
Tratamento de erros
Goroutines básicas
Channels
Go Modules
Servidor HTTP
Cliente HTTP
Codificação JSON
Database/SQL
Testing
Padrões de concorrência
Primitivas de sincronização
Frameworks web Go
Design de API REST
gRPC
Reflection
Gerenciamento de memória
Otimização de desempenho
Generics
Go Design Patterns
Microservices
Segurança e autenticação
Docker & Containerization
Kubernetes Basics
Go Avançado
Desenvolvimento de CLI
Domine Go para sua proxima entrevista
Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.
Comece gratis