Junior — Middle
Kui palju elemente saab maksimaalselt kanalisse paigutada?
sobes.tech AI
Vastus AI-lt
Go keeles sõltub maksimaalne elementide arv kanalites selle buferist. Kanal võib olla pufferdatud või ilma.
- Kui kanal ei ole pufferdatud (
make(chan Type)), võib see sisaldada 0 elementi — saatmine blokeerub kuni vastuvõtuni. - Kui kanal on pufferdatud (
make(chan Type, N)), on maksimaalne elementide arv võrdne buferi suurusegaN.
Teoreetiliselt on buferi suurus piiratud saadaval oleva mälu ja int tüübi poolt (64-bit süsteemidel on see väga suur arv). Kuid praktikas ei ole liiga suur bufer tõhus ning võib põhjustada suure mäe kasutamise.
Näide pufferdatud kanali loomise kohta 100 elemendiga:
ch := make(chan int, 100)