Sobes.tech
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.