Junior — Middle
Welke extra functies en mogelijkheden zijn geïntroduceerd in de contextmethoden met de komst van Go 1.21?
sobes.tech AI
Antwoord van AI
In Go 1.21 zijn verbeteringen aangebracht in het context-pakket die de mogelijkheden voor contextbeheer uitbreiden:
- Ondersteuning voor annulering met timeout en deadline is flexibeler geworden.
- Nieuwe functies zijn toegevoegd om meerdere contexten handig te combineren.
- De prestaties zijn verbeterd en het geheugenverbruik verminderd bij het werken met contexten.
Zo is het nu bijvoorbeeld mogelijk om contexten te maken die automatisch worden geannuleerd wanneer aan meerdere voorwaarden is voldaan, wat het beheer van de levenscyclus van operaties vereenvoudigt:
ctx1, cancel1 := context.WithCancel(context.Background())
ctx2, cancel2 := context.WithTimeout(context.Background(), time.Second*10)
ctx := context.Merge(ctx1, ctx2) // hypothetische functie voor samenvoegen
// Gebruik ctx in verzoeken of goroutines
// Annuleer beide contexten
cancel1()
cancel2()
(Opmerking: de exacte syntax en functies kunnen variëren, omdat de nieuwe mogelijkheden afhankelijk zijn van de specifieke implementatie in Go 1.21.)