Sobes.tech
Junior — Middle

Ma'lumotlarni uzbeksiz aloqa kanali orqali qanday uzatish amalga oshiriladi?

sobes.tech AI

AIdan javob

Go'da to'liq bo'sh kanal orqali ma'lumot uzatish sinxron tarzda amalga oshadi: yuboruvchi ma'lumotlarni o'qilmaguncha bloklanadi va aksincha. Bu goroutine'lar o'rtasida to'g'ridan-to'g'ri sinxronizatsiyani ta'minlaydi.

Misol:

ch := make(chan int) // to'liq bo'sh kanal

// Yuboruvchi
go func() {
    ch <- 42 // qabul qiluvchi o'qiguncha bloklanadi
}()

// Qabul qiluvchi
val := <-ch // qiymat paydo bo'lguncha bloklanadi
fmt.Println(val) // 42 ni chiqaradi

Shu tarzda, ma'lumotlar to'g'ridan-to'g'ri uzatiladi, oraliq saqlashsiz, bu yuboruvchi va qabul qiluvchi o'rtasida sinxronizatsiyani kafolatlaydi.