Sobes.tech
Junior — Middle

Go 1.21 bilan kontekst usullarga qanday qo'shimcha funksiyalar va imkoniyatlar kiritildi?

sobes.tech AI

AIdan javob

Go 1.21-da, context paketiga yaxshilanishlar kiritildi, ular kontekstni boshqarish imkoniyatlarini kengaytiradi:

  • Bekor qilishni timeout va deadline bilan qoʻllab-quvvatlash yanada moslashuvchan boʻldi.
  • Bir nechta kontekstlarni qulay tarzda birlashtirish uchun yangi funksiyalar qoʻshildi.
  • Kontekstlar bilan ishlashda ishlash samaradorligi yaxshilandi va xotira isteʼmoli kamaytirildi.

Masalan, endi bir nechta shart bajarilganda avtomatik ravishda bekor qilinadigan kontekstlar yaratish mumkin, bu operatsiyalar hayot aylanishini boshqarishni soddalashtiradi:

ctx1, cancel1 := context.WithCancel(context.Background())
ctx2, cancel2 := context.WithTimeout(context.Background(), time.Second*10)

ctx := context.Merge(ctx1, ctx2) // gipotetik birlashtirish funktsiyasi

// ctx-ni soʻrovlar yoki gorutinlarda foydalaning

// Ikkala kontekstni ham bekor qiling
cancel1()
cancel2()

(Eslatma: Aniq sintaksis va funksiyalar farq qilishi mumkin, chunki yangi imkoniyatlar Go 1.21-ning aniq amalga oshirishiga bogʻliq.)