Junior — Middle
Jaké je maximální množství prvků, které lze umístit do kanálu?
sobes.tech AI
Odpověď od AI
V jazyce Go závisí maximální počet prvků v kanálu od jeho bufferu. Kanál může být s bufferem nebo bez.
- Pokud kanál nemá buffer (vytvořený pomocí
make(chan Type)), může obsahovat 0 prvků — odeslání se zablokuje, dokud nebude přijato. - Pokud má kanál buffer (vytvořený pomocí
make(chan Type, N)), maximální počet prvků je roven velikosti bufferuN.
Teoreticky je velikost bufferu omezena dostupnou pamětí a typem int (na 64bitových systémech je to velmi velké číslo). V praxi však příliš velký buffer není efektivní a může vést k nadměrnému využívání paměti.
Příklad vytvoření bufferovaného kanálu s 100 prvky:
ch := make(chan int, 100)