Junior — Middle
Já utilizou alguma vez a função context.WithValue no seu código?
sobes.tech IA
Resposta da IA
Sim, a função context.WithValue em Go é usada para passar valores no contexto de execução, geralmente para transmitir dados entre funções e goroutines sem alterar a assinatura das funções.
É importante lembrar que o contexto destina-se a transmitir informações relacionadas à gestão do ciclo de vida (por exemplo, tempos limite, cancelamentos), e não para transmitir grandes volumes de dados ou parâmetros.
Exemplo de uso:
ctx := context.Background()
ctx = context.WithValue(ctx, "userID", 12345)
func process(ctx context.Context) {
userID := ctx.Value("userID")
fmt.Println("ID do usuário:", userID)
}
process(ctx)
Assim, o context.WithValue ajuda a transmitir dados adicionais na cadeia de chamadas, mantendo a capacidade de cancelar e definir tempos limite.