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 integé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