我在计算如何在程序中实现类似cron的功能时遇到了一些问题。
我一直在尝试https://godoc.org/github.com/robfig/cron取得了一些成功,但无法完全弄明白。
我的代码当前是这样的:
package main
import (
"fmt"
"github.com/robfig/cron"
)
func first() {
c := cron.New()
c.AddFunc("@every 5s", func() {fmt.Println("First", 1) })
c.AddFunc("@every 5s", func() {fmt.Println("First", 2) })
c.Start()
}
func second() {
c := cron.New()
for i := 1; i<=2; i++ {
c.AddFunc("@every 5s", func() {fmt.Println("Second", i) })
}
c.Start()
}
func main() {
first()
second()
}
first()函数就像我期望的那样工作。每隔五秒,我会得到两排;一个说“前1”,另一个说“前2”。
然而,第二个()函数是导致我出现问题的原因。 我期待类似的行为,但相反,每隔5秒,我会得到两行“第二个3”。
任何人都能解释我在这里做错了什么?