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