Sobes.tech
Junior — Middle

Ce funcții și capabilități suplimentare au fost introduse în metodele de context odată cu apariția Go 1.21?

sobes.tech AI

Răspuns de la AI

În Go 1.21, au fost aduse îmbunătățiri pachetului context care extind capacitățile de gestionare a contextului:

  • Suportul pentru anulare cu timeout și deadlin a devenit mai flexibil.
  • Au fost adăugate funcții noi pentru combinarea convenabilă a mai multor contexte.
  • Performanța a fost îmbunătățită și consumul de memorie redus în lucrul cu contexte.

De exemplu, acum este posibil să creați contexte care se anulează automat atunci când sunt îndeplinite mai multe condiții, ceea ce simplifică gestionarea ciclului de viață al operațiunilor:

ctx1, cancel1 := context.WithCancel(context.Background())
ctx2, cancel2 := context.WithTimeout(context.Background(), time.Second*10)

ctx := context.Merge(ctx1, ctx2) // funcție ipotetică pentru unire

// Utilizați ctx în solicitări sau goroutines

// Anulați ambele contexte
cancel1()
cancel2()

(Notă: sintaxa exactă și funcțiile pot varia, deoarece noile funcționalități depind de implementarea specifică în Go 1.21.)