go - 定时循环如何工作?

标签 go

我在学习golang,刚开始接触定时循环。但我不明白它是如何工作的?

for _ = range time.Tick(time.Second * 3) {
    fmt.Println("Ticking every 3 seconds")
}

最佳答案

Tick返回 <-chan Time channel ,并在 Go 中使用 range 循环 channel ,就像你遍历数组或 map 一样,是可以的。当你在一个 channel 上循环时,循环内的代码会在每个 recieve 上执行。从那个 channel ,在你的例子中每 3 秒发生一次。该 channel 关闭后循环终止。

https://tour.golang.org/concurrency/4

关于go - 定时循环如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43721355/

相关文章:

go - 获取所有 map 值作为一个 slice ?

java - 在 Go 中启动 Java 进程

go - 并发读取文件的最佳方式

google-app-engine - 如何在 Google App Engine 标准环境中使用 Gorilla session 避免内存泄漏?

Go:根据关键字格式化字符串

go - sql : Scan error on column index 38: destination not a pointer

variables - 在go中声明一个没有值的全局变量

go - 如何使用连接池到 aerospike 服务器

sql - 如何使用 Golang 在 Postgres 中批处理 SQL 语句

inheritance - 在 Go 中嵌入而不是继承