Junior — Middle
Pode explicar para que serve a função context.WithValue em Go e como ela funciona?
sobes.tech IA
Resposta da IA
A função context.WithValue em Go é usada para criar um novo contexto que contém um par chave-valor. Isso permite passar dados adicionais através da cadeia de chamadas, sem alterar as assinaturas das funções.
Funciona assim: você fornece o contexto original, a chave e o valor, e obtém um novo contexto do qual pode extrair esse valor usando context.Value(key).
Exemplo:
ctx := context.Background()
ctxWithValue := context.WithValue(ctx, "userID", 42)
userID := ctxWithValue.Value("userID")
fmt.Println(userID) // Vai imprimir: 42
É importante usar tipos de chaves únicos para evitar conflitos, por exemplo, definindo um tipo próprio para as chaves.