Ellen_Yeager 的个人博客 / 0 / 5 / 创建于 4年前
go 每隔一秒 从channel 里面拉取一下数据 要怎么实现
本作品采用《CC 协议》,转载必须注明作者和本文链接
计划任务,每秒执行一次 GO 脚本
tick := time.Tick(1 * time.Second) for _ = range tick { // 读取通道? }
package main import "fmt" import "time" func reveiveChan(c1 chan<- string) { c1 <- "hello world" } func main() { c1 := make(chan string) go reveiveChan(c1) for true { time.Sleep(time.Second*1) data :=<-c1 fmt.Println(data) } }
package main import "fmt" import "time" func timer(d time.Duration) <-chan int { c := make(chan int) go func() { time.Sleep(d) c <- 1 }() return c } func main() { for i := 0; i < 24; i++ { c := timer(1 * time.Second) val := <-c fmt.Println(val) } }
time.After+for+select
我要举报该,理由是:
计划任务,每秒执行一次 GO 脚本
time.After+for+select