Junior — Middle
Est-il obligatoire d'utiliser la méthode Cancel lors de la création d'un contexte avec un délai d'expiration via Context.WithTimeout ?
sobes.tech IA
Réponse de l'IA
Oui, il est fortement recommandé d'appeler la fonction Cancel, renvoyée par context.WithTimeout, pour libérer les ressources associées au contexte dès qu'il n'est plus nécessaire. Même si le délai d'expiration est atteint et que le contexte est automatiquement annulé, l'appel à Cancel aide à éviter les fuites de ressources.
Exemple d'utilisation:
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()
// Utiliser ctx dans les opérations
L'appel à defer cancel() garantit que les ressources seront libérées à la sortie de la fonction, même si l'opération se termine avant le délai d'expiration.