我是 kotlin 的新手。我想创建一个简单的计时器来每秒执行fun
。我已经研究了一些方法,并找到了SetInterval。但是我不明白如何在代码中实现。我只需要每秒执行println("Hello, world!")
。
我不知道setInterval(请注意,仅是JS平台!),但是如果您想打印" Hello World!"每秒钟,这是一个解决方案
fun doEverySeconds(action: () -> Unit) {
thread {
while (true) {
action()
Thread.sleep(1000)
}
}
}
然后您可以像这样使用
fun main(args: Array<String>) {
doEverySeconds {
println("Hello world !")
}
}
或作为参数的时间
fun doEveryX(timeInMS : Long, action: () -> Unit) {
thread {
while (true) {
action()
Thread.sleep(timeInMS)
}
}
}
fun main(args: Array<String>) {
doEveryX(1200) {
println("Hello world !")
}
}
要添加到User3491043的答案中,我还想指出您可以使用Coroutines 或 Java的Timer#scheduleAtFixedRate
。
这是一个使用Coroutines的示例:
async {
while (true) {
// Do whatever
delay(interval)
}
}