Назад к вопросам
Junior — Middle
76
Каким образом реализовать тайм-аут контекста в вашем приложении на Go?
Ответ от нейросети
sobes.tech AI
В Go для реализации тайм-аута контекста используется пакет context. Создается контекст с тайм-аутом с помощью функции context.WithTimeout, которая возвращает новый контекст и функцию отмены.
Пример:
ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
defer cancel()
select {
case <-time.After(3 * time.Second):
fmt.Println("операция завершена")
case <-ctx.Done():
fmt.Println("тайм-аут или отмена контекста:", ctx.Err())
}
В этом примере, если операция занимает больше 2 секунд, контекст отменяется, и можно обработать тайм-аут. Это полезно для ограничения времени выполнения функций, запросов и т.п.