Sobes.tech
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.