我一直在寻找有关如何实现一个允许你在Go中的某个时间执行任务的函数的例子,但我找不到任何东西.
我自己实现了一个,我在答案中分享它,所以其他人可以为自己的实现提供参考.
我想N每秒打印一行.
for i := 0; i < N; i++ {
fmt.Println(getLogs())
time.Sleep(1000000000/N * time.Nanosecond)
}
Run Code Online (Sandbox Code Playgroud)
但似乎fmt.Println()并getLogs()也将消耗时间.所以实际上打印N线会花费我超过1秒.
说,getLogs()并且fmt.Println()将花费1毫秒.我想每秒打印100万行.因此,打印1行将花费1毫秒getLogs(),1毫秒打印,1毫秒睡眠...打印N行将花费我3秒.
有更好的解决方案来更准确地实现这一目