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