Junior — Middle
Můžeš vyjmenovat hlavní vlastnosti a parametry komunikačních kanálů?
sobes.tech AI
Odpověď od AI
V jazyce Go jsou kanály prostředkem pro přenos dat mezi gorutinami, zajišťujícím synchronizaci a komunikaci. Hlavní vlastnosti a parametry kanálů:
- Typ dat: kanál přenáší hodnoty určitého typu, například
chan intpro celá čísla. - Bufferování: kanály mohou být s nebo bez bufferu. Bez bufferu blokuje odesílatele, dokud příjemce ne přečte hodnotu. S bufferem má kapacitu, což umožňuje odesílat více hodnot bez blokování.
- Směr: kanál může být obousměrný (
chan T), nebo jednostranný — pouze pro odesílání (chan<- T) nebo pouze pro příjem (<-chan T).
Příklad vytvoření bufferovaného kanálu:
ch := make(chan int, 5) // kanál s bufferem na 5 prvků