Junior — Middle
Quais funções e capacidades adicionais foram incorporadas nos métodos de contexto com o surgimento do Go 1.21?
sobes.tech IA
Resposta da IA
No Go 1.21, foram adicionadas melhorias ao pacote context que expandem as capacidades de gestão de contexto:
- O suporte a cancelamento com timeout e deadline tornou-se mais flexível.
- Foram adicionadas novas funções para combinar vários contextos de forma conveniente.
- Melhorou-se o desempenho e reduziu-se o consumo de memória ao trabalhar com contextos.
Por exemplo, agora é possível criar contextos que se cancelam automaticamente ao cumprir várias condições, o que simplifica a gestão do ciclo de vida das operações:
ctx1, cancel1 := context.WithCancel(context.Background())
ctx2, cancel2 := context.WithTimeout(context.Background(), time.Second*10)
ctx := context.Merge(ctx1, ctx2) // função hipotética para unir
// Usar ctx em requisições ou goroutines
// Cancelar ambos os contextos
cancel1()
cancel2()
(Observe que a sintaxe exata e as funções podem variar, pois as novas funcionalidades dependem da implementação específica no Go 1.21.)