Senior
Van határidő?
sobes.tech MI
Válasz az MI-től
Go-ban a határidőt általában az művelet vagy a kontextus végrehajtási idejének korlátozásaként értjük.
A standard könyvtárban a context csomagot használják az idő kezelésére és a műveletek megszakítására. A kontextusnak lehet határideje — az időpont, amikor a művelet lejártának számít, és meg kell szakítani.
Határidővel rendelkező kontextus létrehozásának példája:
ctx, cancel := context.WithDeadline(context.Background(), time.Now().Add(2*time.Second))
defer cancel()
select {
case <-time.After(3 * time.Second):
fmt.Println("Művelet befejeződött")
case <-ctx.Done():
fmt.Println("Határidő lejárt vagy a kontextus megszakadt")
}
Így a határidő egy módja annak, hogy időkorlátot szabjunk a műveleteknek, elkerülve a végtelen várakozást.