Sobes.tech
Back to questions
Senior
2

Что можно использовать для передачи данных между горутинами?

Companies where asked
sber tech

Answer from AI

sobes.tech AI

Для передачи данных между горутинами в Go обычно используют каналы (channels). Каналы обеспечивают безопасную синхронизацию и передачу данных, позволяя горутинам обмениваться значениями без явных блокировок.

Пример использования канала:

ch := make(chan int)

// Отправка данных в горутине
go func() {
    ch <- 42
}()

// Получение данных
value := <-ch
fmt.Println(value) // 42

Кроме каналов, можно использовать общую память с синхронизацией через mutex из пакета sync, но каналы считаются более идиоматичным способом в Go.