Sobes.tech
Junior — Middle

Milyen információkat lehet átadni a kontextuson keresztül az alkalmazásban?

sobes.tech MI

Válasz az MI-től

Go-ban általában az információkat, amelyek a kérés vagy művelet életciklusának kezeléséhez kapcsolódnak, a context (context.Context`) segítségével továbbítják, például:

  • A művelet megszakítása (a Done() csatornán keresztül).
  • Határidők és időkorlátok (a Deadline() segítségével).
  • Az egész hívási lánc során szükséges értékek, például kérésazonosítók, hitelesítési tokenek, metaadatok.

Fontos: ne helyezzen nagy objektumokat, állapotokat vagy olyan adatokat a kontextusba, amelyek nem kapcsolódnak a kérés kezeléséhez, hogy ne sértse meg annak célját és elkerülje a memória szivárgásokat.

Példa érték átadására a kontextuson keresztül:

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