Junior
Go'да каналдар менен кандай операцияларды жүргүзсө болот?
sobes.tech AI
AIден жооп
- Жөнөтүү (
<-chan) - Алып берүү (
chan<-) - Жабуу (
close) - Жабылгандын текшерүүсү (экинчи кайтарылган мааниси алуу учурунда)
selectичинде колдонуу- Буштуулук өлчөмүн аныктоо (
capаркылуу) - Учурдагы элементтердин санын аныктоо (
lenаркылуу)
Мисал:
// Буштуулук менен канал түзүү
ch := make(chan int, 5)
// Маани жөнөтүү
ch <- 10
// Маани алуу
val := <-ch
// Алып жатканда жабылганын текшерүү
val, ok := <-ch
// Каналды жабуу
close(ch)
// `select` ичинде колдонуу
select {
case msg1 := <-ch1:
// ch1ден билдирүүлөрдү иштетүү
case msg2 := <-ch2:
// ch2ден билдирүүлөрдү иштетүү
default:
// жеткиликтүү билдирүүлөр жок
}
// Буштуулук өлчөмүн аныктоо
bufferSize := cap(ch)
// Учурдагы элементтердин санын аныктоо
currentElements := len(ch)