Sobes.tech
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)