Sobes.tech
Junior — Middle

შეგიძლიათ გამოიტანოთ სიტუაციები ან შემთხვევები, სადაც კონტექსტის კონცეფცია გამოიყენება?

sobes.tech AI

პასუხი AI-სგან

Go dilində, kontekst (context.Context) anlayışı əməliyyatların həyat dövrünü idarə etmək, ləğv etmək, vaxt məhdudiyyətləri və gorutinalar arasında dəyərlərin ötürülməsi üçün istifadə olunur.

Əsas istifadə halları:

  • Əməliyyatların ləğvi: məsələn, şəbəkə sorğuları və ya verilənlər bazası ilə işləyərkən, uzunmüddətli əməliyyatı ləğv etmək olar, əgər müştəri sorğunu dayandırsa.
  • Vaxt məhdudiyyətləri və timeoutlar: əməliyyatın maksimum icra vaxtını təyin etmək və bu vaxt keçdikdə avtomatik ləğv etmək.
  • Dəyərlərin ötürülməsi: məsələn, sorğu identifikatorları, autentifikasiya tokenləri, metadatalar, onlar müxtəlif çağırış səviyyələrində lazım olur.

Nümunə:

func HandleRequest(ctx context.Context) {
    select {
    case <-time.After(5 * time.Second):
        // İşləri yerinə yetir
    case <-ctx.Done():
        // Əməliyyat ləğv edildi və ya vaxt limiti keçdi
        return
    }
}

Kontekst daha idarə olunan və cavabdeh kod yazmağa kömək edir, xüsusən çoxmərhələli və şəbəkə əsaslı tətbiqlərdə.