Junior — Middle
Kontextlərin istifadəsinin haqlı və effektiv olacağı vəziyyəti təsvir edin.
sobes.tech Süni İntellekt
AI-dan cavab
Go-da, kontekstlər (context.Context) əməliyyatların həyat müddətini idarə etmək üçün istifadə olunur, xüsusən də asinxron və ya şəbəkə çağırışlarında. Məsələn, əgər sizdə HTTP serveri varsa və sorğuları emal edirsinizsə və müştəri əlaqəni kəsərsə və ya gözləmə vaxtı limiti keçərsə, kontekstin istifadəsi uyğun olacaq.
Nümunə:
func handler(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
select {
case <-time.After(5 * time.Second):
fmt.Fprintln(w, "Emal tamamlandı")
case <-ctx.Done():
err := ctx.Err()
fmt.Println("Sorğu ləğv edildi və ya vaxt limiti keçdi:", err)
}
}
Burada, kontekst uzunmüddətli əməliyyatı müştəri əlaqəni kəsərsə və ya vaxt limiti keçərsə, ləğv etməyə imkan verir, bu da resurslardan qənaət edir və tətbiqin cavabvermə qabiliyyətini yaxşılaşdırır.