Sobes.tech
Junior — Middle

Layihənizdə və ya kodunuzda kontekstdən istifadə məqsədi nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Go dilində, kontekst (context.Context) yerinə yetirmə vəziyyəti haqqında məlumatların ötürülməsi üçün istifadə olunur; bu, vaxt aşımı, son tarixlər və əməliyyatların ləğvi kimi məlumatları əhatə edir və goroutine'lər arasında dəyərlərin ötürülməsi üçün də istifadə olunur.

Kontekstin istifadəsinin məqsədi:

  • Sorğuların və əməliyyatların həyat dövrünü idarə etmək (məsələn, müştəri bağlandıqda HTTP sorğusunu ləğv etmək).
  • Metadata ötürülməsi (məsələn, sorğu identifikatorları qeyd üçün).
  • Zəruri olduqda çağırış zəncirinin ləğv olunmasını təmin etmək.

İstifadə nümunəsi:

ctx, cancel := context.WithTimeout(context.Background(), time.Second*5)
defer cancel()

// ctx-ni vaxt aşımı ilə dayandırıla bilən funksiyaya ötürürük
result, err := doSomething(ctx)
if err == context.DeadlineExceeded {
    fmt.Println("Əməliyyat vaxt aşımı ilə dayandırıldı")
}

Bu şəkildə, kontekst tətbiqin komponentləri arasında icraatı idarə etməyə və məlumat mübadiləsinə kömək edir.