Junior — Middle
Kādu informāciju drīkst nodot caur kontekstu lietotnē?
sobes.tech AI
Atbilde no AI
Go parasti informāciju, kas saistīta ar pieprasījuma vai operācijas dzīves cikla pārvaldību, pārsūta caur context (context.Context`), piemēram:
- Darbības atcelšana (caur
Done()kanālu). - Termiņi un laika ierobežojumi (caur
Deadline()). - Vērtības, kas nepieciešamas visā izsaukumu ķēdē, piemēram, pieprasījuma identifikatori, autentifikācijas tokeni, metadati.
Svarīgi: kontekstā nedrīkst ievietot lielus objektus, stāvokļus vai datus, kas nav saistīti ar pieprasījuma pārvaldību, lai nesabojātu tā mērķi un novērstu atmiņas noplūdi.
Piemērs, kā pārsūtīt vērtību caur kontekstu:
ctx := context.WithValue(context.Background(), "requestID", "12345")
requestID := ctx.Value("requestID")