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 tamponN.
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)