golang 的time.Tick 会等到里面的任务结束了,才开始.
如 ticK 是1s, 里面的任务是3s, 并不是严格按没过了一秒就执行for里面的代码,二是会等到for里面的任务结束后再开始执行。是 block的

package main
import (
"log"
"time"
)
func main() {
for range time.Tick(time.Second * 1) {
log.Println("in---")
time.Sleep(time.Second * 3)
}
}