Junior — Middle
Wat is het maximale aantal elementen dat in een kanaal kan worden geplaatst?
sobes.tech AI
Antwoord van AI
In Go hangt het maximale aantal elementen in een kanaal af van de buffer. Een kanaal kan gebufferd of niet-gebufferd zijn.
- Als het kanaal niet gebufferd is (gemaakt met
make(chan Type)), kan het 0 elementen bevatten — verzending wordt geblokkeerd tot ontvangst. - Als het kanaal gebufferd is (gemaakt met
make(chan Type, N)), is het maximale aantal elementen gelijk aan de buffer grootteN.
Theoretisch is de buffer grootte beperkt door het beschikbare geheugen en het int-type (op 64-bit systemen is dit een zeer groot getal). In de praktijk is een te grote buffer echter niet efficiënt en kan leiden tot hoog geheugenverbruik.
Voorbeeld van het maken van een gebufferd kanaal met 100 elementen:
ch := make(chan int, 100)