Назад к вопросам
Фабрика Решений
Junior — Middle
77
Каким образом осуществляется взаимодействие между горутинами в Go?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В Go взаимодействие между горутинами осуществляется с помощью каналов (channels). Каналы позволяют безопасно передавать данные между горутинами и синхронизировать их работу.
Основные моменты:
- Канал создаётся с помощью
make(chan Type). - Отправка в канал:
ch <- value. - Получение из канала:
value := <-ch. - Каналы могут быть буферизированными или небуферизированными.
Пример:
func main() {
ch := make(chan string)
go func() {
ch <- "привет из горутины"
}()
msg := <-ch
fmt.Println(msg)
}
Таким образом, каналы обеспечивают безопасное и удобное взаимодействие между параллельными горутинами без необходимости использовать мьютексы или другие механизмы блокировок.