Junior — Middle
Come si può gestire la dimensione del buffer in un canale?
sobes.tech AI
Risposta dell'AI
In Go, la dimensione del buffer del canale viene impostata al momento della sua creazione con la funzione make. Se si specifica il secondo parametro, questa sarà la dimensione del buffer, ovvero il numero di elementi che il canale può contenere senza bloccare l'invio.
Esempio di creazione di un canale con buffer di dimensione 5:
ch := make(chan int, 5)
Se il buffer è pieno, l'invio nel canale si blocca finché qualcuno non legge dal canale. Se il buffer è 0 (o il parametro non viene specificato), il canale è senza buffer e l'invio si blocca fino a quando non viene ricevuto un valore.
Pertanto, la gestione della dimensione del buffer si riduce a specificare il secondo parametro durante la creazione del canale.