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)