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.