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.