How to Create Timers and Tickers in Go

Create one-off delays with time.NewTimer and repeating intervals with time.NewTicker in Go.

Use time.NewTimer for one-off delays and time.NewTicker for repeating intervals.

package main

import (
	"fmt"
	"time"
)

func main() {
	// One-off timer
	timer := time.NewTimer(2 * time.Second)
	<-timer.C
	fmt.Println("Timer fired")

	// Repeating ticker
	ticker := time.NewTicker(1 * time.Second)
	go func() {
		for range ticker.C {
			fmt.Println("Ticker tick")
		}
	}()

	time.Sleep(5 * time.Second)
	ticker.Stop()
}