Sobes.tech
Junior — Middle

É obrigatório usar o método Cancel ao criar um contexto com um limite de tempo através do Context.WithTimeout?

sobes.tech IA

Resposta da IA

Sim, recomenda-se fortemente chamar a função Cancel, devolvida por context.WithTimeout, para libertar os recursos associados ao contexto assim que deixar de ser necessário. Mesmo que o tempo limite seja atingido e o contexto seja cancelado automaticamente, chamar Cancel ajuda a evitar fugas de recursos.

Exemplo de uso:

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

// Usar ctx em operações

Chamar defer cancel() garante que os recursos sejam libertados ao sair da função, mesmo que a operação termine antes do tempo limite.