Sobes.tech
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 (cap segítségével)
  • Az aktuális elemek számának meghatározása (len segí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)