Sobes.tech
Junior — Middle

Je nutné povinně použít metodu Cancel při vytváření kontextu s časovým limitem přes Context.WithTimeout?

sobes.tech AI

Odpověď od AI

Ano, důrazně se doporučuje volat funkci Cancel, kterou vrací context.WithTimeout, aby se uvolnily zdroje spojené s kontextem, jakmile již nejsou potřeba. I když časový limit vyprší a kontext bude automaticky zrušen, volání Cancel pomáhá zabránit únikům zdrojů.

Příklad použití:

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

// Použijte ctx v operacích

Volání defer cancel() zajišťuje, že zdroje budou uvolněny při opuštění funkce, i když operace skončí dříve než časový limit.