Sobes.tech
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 suurusega N.

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)