Another small one on time precision that I’ve noticed.
package main
import (
"fmt"
"math"
"time"
)
func main() {
now := time.Now().Add(time.Hour)
seconds = time.Now().Sub(now).Seconds()
fmt.Println(int(seconds))
fmt.Println(int(math.Floor(seconds)))
}
Line 12 will print -3599, line 13 will print -3600 (tested on Ubuntu). So watch out when converting the number of seconds to an integer, you might not always get what you need.