Junior
Milyen műveletek végezhetők el a csatornákkal Go-ban?
sobes.tech MI
Válasz az MI-től
- Küldés (
<-chan) - Fogadás (
chan<-) - Zárás (
close) - Zárás ellenőrzése (második érték a fogadásnál)
- Használat
select-ben - Buffer méretének meghatározása (
capsegítségével) - Az aktuális elemek számának meghatározása (
lensegítségével)
Példa:
// Bufferelt csatorna létrehozása
ch := make(chan int, 5)
// Érték küldése
ch <- 10
// Érték fogadása
val := <-ch
// Ellenőrzés, hogy a csatorna zárva van-e fogadáskor
val, ok := <-ch
// Csatorna zárása
close(ch)
// Használat select-ben
select {
case msg1 := <-ch1:
// üzenetek feldolgozása ch1-ből
case msg2 := <-ch2:
// üzenetek feldolgozása ch2-ből
default:
// nincs elérhető üzenet
}
// Buffer méretének meghatározása
bufferSize := cap(ch)
// Aktuális elemek száma
currentElements := len(ch)