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ə.