Junior — Middle
Go proqramlaşdırma dilində kontekstin rolu və məqsədi nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Go dilində, (context.Context) kontekst əməliyyatların həyat müddətini idarə etmək, ləğv siqnallarını ötürmək və goroutine və funksiyalar arasında dəyərlər ötürmək üçün istifadə olunur.
Kontekstin əsas vəzifələri:
- Əməliyyatların ləğvi: uzun və ya bloklayan əməliyyatları ləğv etməyə imkan verir, məsələn, vaxt aşımı və ya sorğunun ləğvi zamanı.
- Müddətlərin ötürülməsi: əməliyyatın avtomatik olaraq dayandırılması üçün vaxt təyin edə bilərsiniz.
- Dəyərlərin ötürülməsi: sorğu və ya əməliyyatla əlaqəli məlumatları, məsələn, istifadəçi identifikatorları, tokenlər və s. ötürməyə imkan verir.
İstifadə nümunəsi:
ctx, cancel := context.WithTimeout(context.Background(), time.Second*5)
defer cancel()
// Uzun müddətli əməliyyatı həyata keçirən funksiyaya ctx ötürürük
result, err := LongOperation(ctx)
if err == context.DeadlineExceeded {
fmt.Println("Əməliyyat vaxt aşımı ilə dayandırıldı")
}
Kontekst, xüsusən şəbəkə və çoxsaylı tətbiqlərdə daha idarə olunan və cavabdeh kod yazmağa kömək edir.