Sobes.tech
Junior — Middle

Felsorolnád az kommunikációs csatornák fő tulajdonságait és paramétereit?

sobes.tech MI

Válasz az MI-től

Go-ban a csatornák adatátvitelre szolgálnak a goroutine-ok között, biztosítva a szinkronizációt és kommunikációt. A csatornák fő jellemzői és paraméterei:

  • Adattípus: a csatorna egy adott típusú értékeket továbbít, például chan int egész számokhoz.
  • Bufferelés: a csatornák lehetnek pufferelt vagy puffer nélküli típusúak. A puffer nélküli csatorna blokkolja a küldőt, amíg a fogadó nem olvassa ki az értéket. A pufferelt csatorna kapacitással rendelkezik, lehetővé téve több érték küldését blokkolás nélkül.
  • Irányultság: a csatorna lehet kétirányú (chan T), vagy egyirányú — csak küldésre (chan<- T) vagy csak fogadásra (<-chan T).

Példa pufferelt csatorna létrehozására:

ch := make(chan int, 5) // 5 elemű pufferrel rendelkező csatorna