Timer adalah representasi suatu kejadian, ketika waktu timer sudah expired, maka event akan dikirim ke dalam channel, untuk membuat timer kita bisa menggunakan time.NewTimer(duration)
.
Kode : Timer

Jadi pada contoh diatas kita membuat timer pada baris 10 selama 5 detik, kemudian kita menunggu data dikirim ke channel di baris 13, sesuai yang dibuat sebelumnya harus nya data akan masuk ke channel setelah 5 detik.
time.After
Kadang kita hanya butuh channel nya saja, tidak membutuhkan data Timer nya, untuk melakukan hal ini kita bisa menggunakan function time.After(duration)
, contohnya seperti berikut

time.AfterFunc()
Kadang ada kebutuhan kita ingin menjalankan sebuah function dengan delay waktu tertentu, kita bisa memanfaatkan Timer dengan menggunakan function timer.AfterFunc()
, kita tidak perlu lagi menggunakan channel nya, cukup kirimkan function yang akan dipanggil ketika timer mengirim kejadian.

Perhatikan pada baris ke 14, dimana kita membuat program menungu selama 1 detik barulah function di eksekusi, dan tentunya timeAfterFunc
berjalan secara asynchronous.
time.Ticker
Ticker adalah representasi kejadian yang berulang, ketika waktu ticker expired maka event akan dikirim ke channel. Untuk membuat ticker kita bisa menggunakan timeNewTicker(duration)
. Dan untuk menghentikannya kita bisa menggunakan TickerStop()
.

time.Tick
Kadang kita tidak butuh data Ticker nya, kita hanya butuh channel nya saja, jika demikian kita bisa menggunakan function timer.Tick(duration)
, function ini tidak akan mengembalikan Ticker, hanya mengembalikan channel timer nya saja.

Penutup
Pada artikel kali ini kita telah belajar tentang time & ticker pada bahasa pemrogaman go. Dan pada artikel selanjutnya saya akan membahas GOMAXPROCS pada bahasa pemrogaman go.