Sobes.tech
Junior — Middle

Qual è il numero massimo di elementi che possono essere inseriti in un canale?

sobes.tech AI

Risposta dell'AI

In Go, il numero massimo di elementi in un canale dipende dal suo buffer. Un canale può essere con buffer o senza buffer.

  • Se il canale non ha buffer (creato con make(chan Type)), può contenere 0 elementi — l'invio si blocca fino a ricezione.
  • Se il canale ha buffer (creato con make(chan Type, N)), il numero massimo di elementi è uguale alla dimensione del buffer N.

Teoricamente, la dimensione del buffer è limitata dalla memoria disponibile e dal tipo int (su sistemi a 64 bit, è un numero molto grande). Tuttavia, nella pratica, un buffer troppo grande non è efficiente e può portare a un consumo elevato di memoria.

Esempio di creazione di un canale con buffer di 100 elementi:

ch := make(chan int, 100)