golang 定时器,启动的时候执行一次,以后每天晚上12点执行,怎么实现

Python016

golang 定时器,启动的时候执行一次,以后每天晚上12点执行,怎么实现,第1张

    func startTimer(f func()) {

        go func() {

            for {

                f()

                now := time.Now()

                // 计算下一个零点

                next := now.Add(time.Hour * 24)

                next = time.Date(next.Year(), next.Month(), next.Day(), 0, 0, 0, 0, next.Location())

                t := time.NewTimer(next.Sub(now))

                <-t.C

            }

        }()

    }

包名本质上是所在目录的名称,我们在基础知识演示用例中进行扩展,进一步理解包名,执行前需要执行的命令请参考上一节,首先来看一下目录结构:

此时,如果我们想使用subpackage/sub/subfunc.go时,需要import的是subpackage/sub,而不是subpackage/sub/subfunc,来看具体的实现:

我们回到使用的主函数中,我们在主函数中引入"subpackage/sub",而调用中直接使用了文件名称myfunc

执行的结果如下