Sobes.tech
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-ի համար։