Junior — Middle
Kun je situaties of gevallen geven waarin het concept van context wordt gebruikt?
sobes.tech AI
Antwoord van AI
In Go wordt het concept van context (context.Context) gebruikt om de levensduur van operaties te beheren, annuleringen, time-outs en het doorgeven van waarden tussen goroutines.
Belangrijkste gebruikssituaties:
- Operaties annuleren: bijvoorbeeld bij werken met netwerkverzoeken of databases, kan een lange operatie worden geannuleerd als de client het verzoek onderbreekt.
- Tijdslimieten en time-outs: je kunt een maximale uitvoeringstijd voor een operatie instellen, waarna deze automatisch wordt afgebroken.
- Doorgeven van waarden: bijvoorbeeld, aanvraag-ID's, authenticatietokens, metadata die op verschillende niveaus van oproepen nodig zijn.
Voorbeeld:
func HandleRequest(ctx context.Context) {
select {
case <-time.After(5 * time.Second):
// Voer werk uit
case <-ctx.Done():
// Operatie is geannuleerd of tijdslimiet bereikt
return
}
}
De context helpt bij het schrijven van beter beheersbare en responsieve code, vooral in gelijktijdige en netwerkapplicaties.