Sobes.tech
Junior — Middle

Este obligatoriu să folosiți metoda Cancel atunci când creați un context cu un timeout prin intermediul Context.WithTimeout?

sobes.tech AI

Răspuns de la AI

Da, se recomandă cu tărie să apelați funcția Cancel, returnată de context.WithTimeout, pentru a elibera resursele asociate cu contextul imediat ce acestea nu mai sunt necesare. Chiar dacă timpul de expirare se atinge și contextul este automat anulat, apelarea Cancel ajută la evitarea scurgerilor de resurse.

Exemplu de utilizare:

ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()

// Utilizați ctx în operații

Apelarea defer cancel() garantează că resursele vor fi eliberate la ieșirea din funcție, chiar dacă operația s-a încheiat înainte de timeout.