Sobes.tech
Junior — Middle

Kontekst tushunchasi qo'llaniladigan vaziyatlar yoki holatlarni kiritishingiz mumkinmi?

sobes.tech AI

AIdan javob

Go tilida, kontekst (context.Context) tushunchasi operatsiyalarning hayot davomiyligini boshqarish, bekor qilish, vaqt chegaralari va gorutinalar o'rtasida qiymatlarni uzatish uchun ishlatiladi.

Asosiy foydalanish holatlari:

  • Operatsiyalarni bekor qilish: masalan, tarmoq so'rovlar yoki ma'lumotlar bazalari bilan ishlashda, mijoz so'rovni to'xtatganda, uzoq davom etayotgan operatsiyani bekor qilish mumkin.
  • Vaqt chegaralari va timeoutlar: operatsiyaning maksimal bajarilish vaqtini belgilash mumkin, undan so'ng u avtomatik ravishda bekor qilinadi.
  • Qiymatlarni uzatish: masalan, so'rov identifikatorlari, autentifikatsiya tokenlari, metama'lumotlar, ular chaqiruvlarning turli darajalarida kerak bo'ladi.

Misol:

func HandleRequest(ctx context.Context) {
    select {
    case <-time.After(5 * time.Second):
        // Ishni bajarish
    case <-ctx.Done():
        // Operatsiya bekor qilindi yoki vaqt tugadi
        return
    }
}

Kontekst yozishni boshqariladigan va javob beradigan kod yozishga yordam beradi, ayniqsa ko'p oqimli va tarmoq ilovalarda.