Sobes.tech
Junior — Middle

É possível criar um canal sem especificar o seu tamanho durante o processo de inicialização?

sobes.tech IA

Resposta da IA

Sim, em Go é possível criar um canal sem especificar seu tamanho — será um canal não bufferizado. Tal canal bloqueia o remetente até que o receptor leia o valor, e vice-versa. Exemplo de criação de um canal não bufferizado:

ch := make(chan int) // canal sem buffer

Se desejar criar um canal bufferizado com um tamanho específico, indica-se o segundo parâmetro:

ch := make(chan int, 10) // canal com buffer de 10 elementos

Assim, o tamanho padrão do canal é zero, e ele funciona como um mecanismo de sincronização entre goroutines.