Sobes.tech
Junior — Middle

Kontextlardan foydalanish ma'qul va samarali bo'ladigan holatni tasvirlang.

sobes.tech AI

AIdan javob

Go tilida, kontekstlar (context.Context) operatsiyalarning hayot davomiyligini boshqarish uchun ishlatiladi, ayniqsa asinxron yoki tarmoq chaqiriqlari uchun. Masalan, agar sizda so'rovlarni qayta ishlovchi HTTP server bo'lsa va mijoz ulanishni to'xtatsa yoki kutish vaqti chegaradan oshsa, kontekstdan foydalanish ma'qul bo'ladi.

Misol:

func handler(w http.ResponseWriter, r *http.Request) {
    ctx := r.Context()
    select {
    case <-time.After(5 * time.Second):
        fmt.Fprintln(w, "Qayta ishlash yakunlandi")
    case <-ctx.Done():
        err := ctx.Err()
        fmt.Println("So'rov bekor qilindi yoki vaqt tugadi:", err)
    }
}

Bu yerda, kontekst uzoq davom etadigan operatsiyani mijoz ulanishni to'xtatganda yoki vaqt tugaganda bekor qilish imkonini beradi, bu resurslarni tejash va ilovaning javob berish qobiliyatini yaxshilashga yordam beradi.