Por padrão canais são não buferizados, significando que eles
só aceitarão envios (chan <- ) se houver um receptor
correspondente (<- chan ) pronto para receber o
valor enviado. Canais buferizados aceitam um número limitado
de valores sem um receptor correspondente para esses valores.
|
|
|
|
|
|
|
|
Aqui nós fizemos um canal de strings buferizadas em
2 valores.
|
mensagens := make(chan string, 2)
|
Por esse canal ser buferizado, nós podemos enviar esses
valores em um canal sem um receptor concorrente correspondente.
|
mensagens <- "buferizado"
mensagens <- "canal"
|
Depois nós podemos receber esses dois valores, como de costume.
|
fmt.Println(<-mensagens)
fmt.Println(<-mensagens)
}
|