package main import ( "fmt" "os" "time" ) func loadTS(tspath string) (timestamp *time.Time, err error) { if _, err = os.Stat(tspath); os.IsNotExist(err) { init := time.Unix(0, 0) timestamp = &init err = saveTS(tspath, timestamp) return } var fd *os.File fd, err = os.Open(tspath) if err != nil { return } defer fd.Close() var init int64 _, err = fmt.Fscanf(fd, "%d", &init) if err != nil { return } tmp := time.Unix(init, 0) timestamp = &tmp return } func saveTS(tspath string, ts *time.Time) error { fd, err := os.Create(tspath) if err != nil { return err } defer fd.Close() _, err = fmt.Fprintf(fd, "%d", ts.Unix()) if err != nil { return err } return nil }