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