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

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)