Junior — Middle
Qual é o objetivo de usar o contexto no seu projeto ou código?
sobes.tech IA
Resposta da IA
No Go, o contexto (context.Context) é utilizado para transmitir informações sobre o estado de execução, como tempos limite, prazos e cancelamentos de operações, bem como para transmitir valores entre goroutines.
Objetivo do uso do contexto:
- Gestão do ciclo de vida de pedidos e operações (por exemplo, cancelar uma solicitação HTTP ao fechar o cliente).
- Transmissão de metadados (por exemplo, identificadores de pedidos para registro).
- Garantir o cancelamento de cadeias de chamadas quando necessário.
Exemplo de uso:
ctx, cancel := context.WithTimeout(context.Background(), time.Second*5)
defer cancel()
// Passamos ctx para uma função que pode ser interrompida por timeout
result, err := doSomething(ctx)
if err == context.DeadlineExceeded {
fmt.Println("Operação cancelada por timeout")
}
Assim, o contexto ajuda a controlar a execução e a trocar dados entre componentes da aplicação.