Sobes.tech
Senior

Ar yra terminas?

sobes.tech AI

Atsakymas iš AI

Go kalboje, terminas dažniausiai suprantamas kaip apribojimas operacijos ar konteksto vykdymo laike.

Standartinėje bibliotekoje naudojamas context paketas, skirtas valdyti vykdymo laiką ir atšaukti operacijas. Kontekstas gali turėti terminą — laiką, po kurio operacija laikoma pasibaigusia ir turi būti atšaukta.

Pavyzdys, kaip sukurti kontekstą su terminu:

ctx, cancel := context.WithDeadline(context.Background(), time.Now().Add(2*time.Second))
defer cancel()

select {
case <-time.After(3 * time.Second):
    fmt.Println("Operacija baigta")
case <-ctx.Done():
    fmt.Println("Terminas pasibaigė arba kontekstas atšauktas")
}

Taip, terminas yra būdas nustatyti laiko apribojimą operacijoms, siekiant išvengti begalinio laukimo.