Какие элементы можно включить в текущий контекст выполнения программы?

В Go (Golang) текущий контекст выполнения программы обычно представлен типом context.Context. Он используется для передачи информации о состоянии выполнения, отмены операций и дедлайнов между горутинами.

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

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

В Go (Golang) текущий контекст выполнения программы обычно представлен типом context.Context. Он используется для передачи информации о состоянии выполнения, отмены операций и дедлайнов между горутинами.

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

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

В Go (Golang) текущий контекст выполнения программы обычно представлен типом context.Context. Он используется для передачи информации о состоянии выполнения, отмены операций и дедлайнов между горутинами.

В контекст можно включить следующие элементы:

  • Отмена (Cancellation) — сигнал, что операция должна быть прервана.
  • Дедлайн (Deadline) — время, после которого операция считается просроченной.
  • Значения (Values) — ключ-значение пары для передачи дополнительной информации (например, идентификаторы запросов, токены аутентификации).

Пример:

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

ctx = context.WithValue(ctx, "requestID", "12345")

// Передаем ctx в функции, которые могут проверить отмену, дедлайн или получить значения

Таким образом, контекст содержит метаданные и управление жизненным циклом операций в программе.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку