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.