Go的替代日期/时间库

Jes*_*nds 1 time datetime go

Golang的time包装有其他选择吗?我无法掌握其笨重的界面和奇怪的做事方式.整体语言很棒,但这部分内容从未与我点击过.

任何人?一个非常好的,彻底的教程也可以工作(我还没有设法找到一个)

我现在要做的是goroutine每秒仅更新10次(或我设置的任何变量间隔).我还没有实现它,因为包不好玩.这是伪代码.

function GoRoutine(updatesPerSecond int) {
    interval = 1000msec / updatesPerSecond

    for {
        if enoughTimeHasPassed {
            doThings()
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

One*_*One 7

您是否阅读了http://golang.org/pkg/time/上的文档?

你需要使用Ticker:

func Loop(fps int) {
    t := time.NewTicker(time.Second / time.Duration(fps))
    for t := range t.C {
        fmt.Println("tick", t)
    }
}
func main() {
    go Loop(60)
    time.Sleep(10 * time.Second)
}
Run Code Online (Sandbox Code Playgroud)

那就像使用它一样go Loop(60).