Middle+
32
Cos'è il contesto in Go e a cosa serve?
Le aziende dove è stato chiesto
MAX LTD Group
Risposta dell'AI
sobes.tech AI
Контекст (context) в Go — это механизм для передачи сквозных значений, сигналов отмены и дедлайнов между горутинами и функциями. Он используется для управления временем жизни операций, особенно в сетевых запросах, обработке запросов и параллельных вычислениях.
Основные возможности context:
- Отмена операции (cancel)
- Установка таймаута или дедлайна
- Передача значений (например, идентификаторы запросов)
Пример использования:
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")
}
Здесь операция прервётся через 5 секунд, даже если она не завершилась.