Использовал ли ты метод Context.WithTimeout для ограничения времени выполнения операций?

Да, метод context.WithTimeout в Go часто используется для ограничения времени выполнения операций, особенно при работе с сетевыми запросами, базами данных или другими длительными процессами.

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

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

Да, метод context.WithTimeout в Go часто используется для ограничения времени выполнения операций, особенно при работе с сетевыми запросами, базами данных или другими длительными процессами.

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

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

Да, метод context.WithTimeout в Go часто используется для ограничения времени выполнения операций, особенно при работе с сетевыми запросами, базами данных или другими длительными процессами.

Он создает новый контекст, который автоматически отменяется по истечении заданного времени, что позволяет избежать зависаний и контролировать таймауты.

Пример:

ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
defer cancel()

err := doSomething(ctx)
if err != nil {
    if errors.Is(err, context.DeadlineExceeded) {
        fmt.Println("Операция превысила время ожидания")
    } else {
        fmt.Println("Ошибка выполнения:", err)
    }
}

В этом примере функция doSomething должна поддерживать контекст и прерывать работу, если время вышло.

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

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

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

Подробнее