Junior — Middle
Quali informazioni è consentito trasmettere attraverso il contesto nell'applicazione?
sobes.tech AI
Risposta dell'AI
In Go, di solito si trasmettono informazioni relative alla gestione del ciclo di vita di una richiesta o operazione tramite il contesto (context.Context), ad esempio:
- Annullamento dell'operazione (tramite il canale
Done()). - Scadenze e timeout (tramite
Deadline()). - Valori necessari durante tutta la catena di chiamate, come identificatori di richieste, token di autenticazione, metadati.
Importante: non inserire oggetti grandi, stati o dati non correlati alla gestione della richiesta nel contesto, per non compromettere la sua funzione e evitare perdite di memoria.
Esempio di trasmissione di un valore tramite il contesto:
ctx := context.WithValue(context.Background(), "requestID", "12345")
requestID := ctx.Value("requestID")