Senior
Барои интиқоли маълумот байни goroutine-ҳо чӣ истифода бурда мешавад?
sobes.tech AI
Ҷавоб аз AI
Барои интиқоли маълумот байни goroutine-ҳо дар Go, одатан каналҳо (channels) истифода мешаванд. Каналҳо бехатарии ҳамоҳангсозӣ ва интиқоли маълумотро таъмин мекунанд, ки имкон медиҳад goroutine-ҳо арзишҳоро бе бастани ошкоро мубодила кунанд.
Масалан, истифодаи канал:
ch := make(chan int)
// Иҷрои маълумот дар goroutine
go func() {
ch <- 42
}()
// Гирифтани маълумот
value := <-ch
fmt.Println(value) // 42
Илова бар каналҳо, метавон мемори умумиро бо ҳамоҳангсозӣ тавассути mutex аз пакети sync истифода бурд, аммо каналҳо ҳамчун роҳи бештар идиоматик дар Go ҳисоб мешаванд.