Sobes.tech
Junior — Middle

Milliseid täiendavaid funktsioone ja võimalusi on lisatud kontekstimeetoditesse Go 1.21 ilmumisega?

sobes.tech AI

Vastus AI-lt

Go 1.21-s on tehtud täiustused context paketis, mis laiendavad konteksti haldamise võimalusi:

  • Tugi ajastatud ja tähtaja alusel tühistamisele on muutunud paindlikumaks.
  • Lisatud on uued funktsioonid mugavaks mitme konteksti ühendamiseks.
  • Parandatud jõudlus ja vähendatud mälu kasutus kontekstidega töötamisel.

Näiteks on nüüd võimalik luua kontekste, mis automaatselt tühistatakse, kui täidetakse mitu tingimust, mis lihtsustab operatsioonide elutsükli haldamist:

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

ctx := context.Merge(ctx1, ctx2) // hüpoteetiline ühendamise funktsioon

// Kasutage ctx päringutes või gorutinides

// Tühistage mõlemad kontekstid
cancel1()
cancel2()

(Täpset süntaksit ja funktsioone võib erineda, kuna uued võimalused sõltuvad konkreetse implementatsiooni versioonist Go 1.21-s.)