Junior — Middle
Можете ли да објасните шта подразумева термин 'контекст' у програмирању или развоју?
sobes.tech АИ
Одговор од АИ
В программировании термин "контекст" обычно означает набор информации, состояния или параметров, которые окружают выполнение определённого кода или операции и влияют на его поведение.
В Go (Golang) контекст (context.Context) используется для управления временем жизни операций, передачи сигналов отмены и передачи значений между горутинами. Например, при работе с сетевыми запросами или длительными операциями контекст позволяет отменить выполнение, если запрос больше не актуален, или передать дедлайн.
Пример использования контекста в Go:
ctx, cancel := context.WithTimeout(context.Background(), time.Second*5)
defer cancel()
select {
case <-time.After(time.Second * 10):
fmt.Println("operation completed")
case <-ctx.Done():
fmt.Println("operation cancelled or timed out")
}
Здесь контекст помогает контролировать время выполнения операции и отменять её при необходимости.