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