Dando continuidade ao nosso estudo de goroutines e channels, nesse post vamos falar sobre uma cláusula pouco utilizada.
Antes de começar, vou deixar os links para os outros posts caso você tenha perdido algum da série.
- O que são e como funcionam as goroutines
- O que são e como utilizar channels
- Buffer de mensagens em channels
- Aguardando a execução de múltiplas goroutines
A cláusula select é utilizada para que uma função consiga trabalhar com múltiplos channels. Ela bloqueia a execução da função até que um dos channels esteja pronto para ser executado. Caso mais de um channel esteja pronto para ser executado, ela selecionará de forma aleatória qual executar.
Para tentar ficar um pouco mais claro, vamos escrever um pequeno programa para ilustrar o comportamento.
Leia mais »