Sobes.tech
Junior — Middle

Quelle est la quantité maximale d'éléments pouvant être placés dans un canal?

sobes.tech IA

Réponse de l'IA

En Go, le nombre maximum d'éléments dans un canal dépend de son tampon. Un canal peut être tamponné ou non tamponné.

  • Si le canal n'est pas tamponné (créé avec make(chan Type)), il peut contenir 0 éléments — l'envoi est bloqué jusqu'à réception.
  • Si le canal est tamponné (créé avec make(chan Type, N)), le nombre maximum d'éléments est égal à la taille du tampon N.

Théoriquement, la taille du tampon est limitée par la mémoire disponible et le type int (sur les systèmes 64 bits, c'est un nombre très grand). Cependant, en pratique, un tampon trop grand n'est pas efficace et peut entraîner une consommation excessive de mémoire.

Exemple de création d'un canal tamponné de 100 éléments :

ch := make(chan int, 100)