Senior
Heb je in de praktijk contexten gebruikt? Vertel me.
sobes.tech AI
Antwoord van AI
Ja, ik heb regelmatig gebruik gemaakt van contexten in Go, vooral voor het beheren van de uitvoeringstijd en het annuleren van operaties in netwerkverzoeken en goroutines. De context maakt het mogelijk om annuleringssignalen en tijdslimieten door te geven via de keten van oproepen, wat helpt om goroutine-lekken te voorkomen en de uitvoeringstijd te controleren.
Voorbeeld van gebruik:
ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
defer cancel()
select {
case <-time.After(3 * time.Second):
fmt.Println("operatie voltooid")
case <-ctx.Done():
fmt.Println("operatie geannuleerd of verlopen")
}
Op deze manier, als de operatie langer dan 2 seconden duurt, wordt deze afgebroken, wat de robuustheid en de reactietijd van de toepassing verhoogt.