Junior
Go'da kanallar bilan qanday operatsiyalar bajarish mumkin?
sobes.tech AI
AIdan javob
- Yuborish (
<-chan) - Qabul qilish (
chan<-) - Yopish (
close) - Yopilish tekshiruvi (qabul qilishda ikkinchi qaytariladigan qiymat)
selectda foydalanish- Buffer o'lchamini belgilash (
capyordamida) - Hozirgi elementlar sonini aniqlash (
lenyordamida)
Misol:
// Bufferli kanal yaratish
ch := make(chan int, 5)
// Qiymat yuborish
ch <- 10
// Qiymat qabul qilish
val := <-ch
// Qabul qilishda yopilganligini tekshirish
val, ok := <-ch
// Kanalni yopish
close(ch)
// select da foydalanish
select {
case msg1 := <-ch1:
// ch1 dan xabarlarni ishlash
case msg2 := <-ch2:
// ch2 dan xabarlarni ishlash
default:
// mavjud xabarlar yo'q
}
// Buffer o'lchamini belgilash
bufferSize := cap(ch)
// Hozirgi elementlar sonini aniqlash
currentElements := len(ch)