Sobes.tech
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 int pro 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ů