Timers

Frequentemente, queremos executar o código Go em algum ponto no futuro ou repetidamente em algum intervalo. Os recursos de timers e tickers integrados de Go tornam essas duas tarefas fáceis.

Veremos primeiro os timers e depois os tickers.

Os timers representam um único evento no futuro. Você diz ao timer quanto tempo deseja esperar e ele fornece um canal que será notificado naquele momento.


time.NewTimer(time.Duration)
                        

O <-timer1.C bloqueia no canal C do timer até enviar um valor indicando que o temporizador disparou.

Se você apenas quisesse esperar, poderia ter usado a função time.Sleep. Um motivo pelo qual um timer pode ser útil é que você pode cancelá-lo antes de disparar.

timers.go