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")