Junior — Middle
¿Cuál es la cantidad máxima de elementos que se pueden colocar en un canal?
sobes.tech AI
Respuesta de la IA
En Go, la cantidad máxima de elementos en un canal depende de su búfer. Un canal puede ser con búfer o sin búfer.
- Si el canal no tiene búfer (creado con
make(chan Type)), puede contener 0 elementos — el envío se bloquea hasta que se recibe. - Si el canal tiene búfer (creado con
make(chan Type, N)), la cantidad máxima de elementos es igual al tamaño del búferN.
Teóricamente, el tamaño del búfer está limitado por la memoria disponible y el tipo int (en sistemas de 64 bits, esto es un número muy grande). Sin embargo, en la práctica, un búfer demasiado grande no es eficiente y puede llevar a un consumo excesivo de memoria.
Ejemplo de creación de un canal con búfer de 100 elementos:
ch := make(chan int, 100)