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.)