Junior — Middle
Konsepsiya kontekstinin istifadə olunduğu vəziyyətlər və ya halları göstərə bilərsinizmi?
sobes.tech Süni İntellekt
AI-dan cavab
Go-da, kontekst (context.Context) anlayışı əməliyyatların həyat dövrünü idarə etmək, ləğv etmək, vaxt limitlə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, müştəri sorğunu dayandırarsa, uzunmüddətli əməliyyatı ləğv etmək olar.
- Vaxt limitləri və zaman aşımı: ə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, müxtəlif çağrı səviyyələrində lazım olan metadatalar.
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ə.