Go的替代日期/时间库

时间:2014-07-28 23:52:59

标签: datetime time go

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

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

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

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

    for {
        if enoughTimeHasPassed {
            doThings()
        }
    }
}

1 个答案:

答案 0 :(得分: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)
}

然后像go Loop(60)一样使用它。