Junior — Middle
Koji je maksimalni broj elemenata koji se mogu smestiti u kanal?
sobes.tech АИ
Одговор од АИ
U Go-u, maksimalni broj elemenata u kanalu zavisi od njegovog buffera. Kanal može biti sa bufferom ili bez.
- Ako kanal nema buffer (kreiran pomoću
make(chan Type)), može sadržavati 0 elemenata — slanje se blokira dok se ne primi. - Ako kanal ima buffer (kreiran pomoću
make(chan Type, N)), maksimalan broj elemenata je jednak veličini bufferaN.
Teorijski, veličina buffera je ograničena dostupnom memorijom i tipom int (na 64-bitnim sistemima, ovo je veoma veliki broj). Međutim, u praksi, preveliki buffer nije efikasan i može dovesti do velikog korišćenja memorije.
Primer kreiranja buffiranog kanala sa 100 elemenata:
ch := make(chan int, 100)