Junior — Middle
Jakie dodatkowe funkcje i możliwości zostały wprowadzone do metod kontekstowych wraz z pojawieniem się Go 1.21?
sobes.tech AI
Odpowiedź od AI
W Go 1.21 dodano ulepszenia w pakiecie context, które rozszerzają możliwości zarządzania kontekstem:
- Obsługa anulowania z timeoutem i limitem czasowym stała się bardziej elastyczna.
- Dodano nowe funkcje do wygodnego łączenia wielu kontekstów.
- Ulepszono wydajność i zmniejszono zużycie pamięci podczas pracy z kontekstami.
Na przykład, teraz można tworzyć konteksty, które automatycznie się anulują po spełnieniu kilku warunków, co upraszcza zarządzanie cyklem życia operacji:
ctx1, cancel1 := context.WithCancel(context.Background())
ctx2, cancel2 := context.WithTimeout(context.Background(), time.Second*10)
ctx := context.Merge(ctx1, ctx2) // hipotetyczna funkcja do łączenia
// Używaj ctx w żądaniach lub gorutynach
// Anuluj oba konteksty
cancel1()
cancel2()
(Uwaga: dokładna składnia i funkcje mogą się różnić, ponieważ nowe możliwości zależą od konkretnej implementacji w Go 1.21.)