Based on this example (https://gobyexample.com/timers), the timer can be either stopped or expired. But what are the differences?
package main
import "time"
import "fmt"
func main() {
timer1 := time.NewTimer(time.Second*2)
<-timer1.C
fmt.Println("Timer 1 expired")
timer2 := time.NewTimer(time.Second)
go func() {
<-timer2.C
fmt.Println("Timer 2 expired")
} ()
stop2 := timer2.Stop()
if stop2 {
fmt.Println("Timer 2 stopped")
}
}