Sobes.tech
Junior — Middle

Ce informații pot fi transmise prin context în aplicație?

sobes.tech AI

Răspuns de la AI

În Go, de obicei, informațiile legate de gestionarea ciclului de viață al unei solicitări sau operații sunt transmise prin intermediul contextului (context.Context), de exemplu:

  • Anularea operației (prin canalul Done()).
  • Termene limită și timeout-uri (prin Deadline()).
  • Valori necesare pe întreaga durată a lanțului de apeluri, cum ar fi identificatori de solicitări, token-uri de autentificare, metadate.

Important: nu plasați în context obiecte mari, stări sau date care nu sunt legate de gestionarea solicitării, pentru a nu-i afecta scopul și a evita scurgerile de memorie.

Exemplu de transmitere a unei valori prin context:

ctx := context.WithValue(context.Background(), "requestID", "12345")
requestID := ctx.Value("requestID")