Назад к вопросам
Senior
2
Какая сущность используется для передачи данных между горутинами?
Компании, где спрашивали
SberAuto
Ответ от нейросети
sobes.tech AI
В Go для передачи данных между горутинами используется сущность под названием канал (channel). Каналы позволяют безопасно обмениваться данными, синхронизируя выполнение горутин.
Пример использования канала:
ch := make(chan int) // создаём канал для передачи int
go func() {
ch <- 42 // отправляем значение в канал
}()
value := <-ch // получаем значение из канала
fmt.Println(value) // выведет 42
Каналы могут быть буферизированными и небезопасными, что позволяет гибко управлять синхронизацией и обменом данными между горутинами.