Junior — Middle
Чӣ гуна интиқоли маълумот тавассути каналҳои иртиботи бе буфер анҷом дода мешавад?
sobes.tech AI
Ҷавоб аз AI
Тарафузи маълумот тавассути канал бе буфер дар Go ба таври синхронӣ сурат мегирад: фиристанда монеъ мешавад, то ки қабулкунанда маълумотро бихонад, ва баръакс. Ин ҳамоҳангсозии мустақим байни goroutine-ҳо таъмин мекунад.
Масалан:
ch := make(chan int) // канал бе буфер
// Фиристанда
go func() {
ch <- 42 // монеъ мешавад, то ки қабулкунанда бихонад
}()
// Қабулкунанда
val := <-ch // монеъ мешавад, то ки арзише пайдо шавад
fmt.Println(val) // 42-ро нишон медиҳад
Бинобар ин, маълумотҳо бевосита интиқол дода мешаванд, бе нигоҳдории миёна, ки ҳамоҳангсозии байни фиристанда ва қабулкунанда кафолат медиҳад.