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