func (t *Timer) Init(num int) {
	t.init(num)
}
Init init the timer.
package time
import (
	"sync"
	itime "time"
	log "github.com/tsingson/zaplogger"
)
const (
	timerFormat      = "2006-01-02 15:04:05"
	infiniteDuration = itime.Duration(1<<63 - 1)
)
type TimerData struct {
	Key    string
	expire itime.Time
	fn     func()
	index  int
	next   *TimerData
}
func (td *TimerData) Delay() itime.Duration {
	return itime.Until(td.expire)
}
func (td *TimerData) ExpireString() string {
	return td.expire.Format(timerFormat)
}
type Timer struct {
	lock   sync.Mutex
	free   *TimerData
	timers []*TimerData
	signal *itime.Timer
	num    int
}
func NewTimer(num int) (t *Timer) {
	t = new(Timer)
	t.init(num)
	return t
}