Каким образом реализовать тайм-аут контекста в вашем приложении на Go?

В Go для реализации тайм-аута контекста используется пакет context. Создается контекст с тайм-аутом с помощью функции context.WithTimeout, которая возвращает новый контекст и функцию отмены.

Короткий ответ

Что ответить на собеседовании

В Go для реализации тайм-аута контекста используется пакет context. Создается контекст с тайм-аутом с помощью функции context.WithTimeout, которая возвращает новый контекст и функцию отмены.

Подробный разбор

Ответ с пояснениями

В 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 секунд, контекст отменяется, и можно обработать тайм-аут. Это полезно для ограничения времени выполнения функций, запросов и т.п.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее