Senior
Gorutinalar o'rtasida ma'lumotlarni uzatish uchun qanday ob'ekt ishlatiladi?
sobes.tech AI
AIdan javob
Go tilida, goroutine'lar orasida ma'lumotlarni uzatish uchun kanal (channel) nomli mavjudlik ishlatiladi. Kanallar xavfsiz ma'lumot almashishni ta'minlaydi, goroutine'larning bajarilishini sinxronlashtiradi.
Kanaldan foydalanish misoli:
ch := make(chan int) // int uzatish uchun kanal yaratamiz
go func() {
ch <- 42 // qiymatni kanalga yuboramiz
}()
qiymat := <-ch // kanal orqali qiymatni olamiz
fmt.Println(qiymat) // 42 ni chiqaradi
Kanalar bufferli va xavfsiz bo'lmagan bo'lishi mumkin, bu goroutine'lar o'rtasida sinxronizatsiya va ma'lumot almashishni moslashuvchan boshqarishga imkon beradi.