Senior
Ի՞նչ է օգտագործվում կոնտեքստը: Ինչպես եք օգտագործել պրակտիկայում?
sobes.tech AI
Պատասխան AI-ից
Go լեզվում, context օգտագործվում է սիգնալների, ժամանակային սահմանների և այլ արժեքների փոխանցման համար goroutine-ների միջև, հատկապես երբ աշխատում եք հարցումների, ժամանակային սահմանների և գործողությունների չեղարկման հետ:
Практическое применение:
- Ուղղակի երկարատև գործողությունների չեղարկում HTTP հարցումը փակելիս:
- Ժամանակային սահմանում փոխանցել, որպեսզի գործողությունը չանցնի սահմանված ժամանակից:
- Մետադատված տվյալների փոխանցում (օրինակ, հարցման նույնականացուցիչներ) զանգվածային կանչերի շղթայով:
Օգտագործման օրինակ:
func handler(ctx context.Context) {
select {
case <-time.After(5 * time.Second):
fmt.Println("Գործողությունը ավարտվեց")
case <-ctx.Done():
fmt.Println("Գործողությունը չեղարկվեց")
}
}
func main() {
ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
defer cancel()
handler(ctx)
}
Այստեղ գործողությունը կդադարեցվի 2 վայրկյան անց, նույնիսկ եթե այն նախատեսված է 5-ի համար։