func main() { require:=make(chan int,5) for i:=0;i<5;i++{ require<-i } close(require) //設置定時器控制讀取速率
ti:=time.Tick(time.Duration(1)*time.Second) //直接range只會讀取值,緩沖區無數據會讀取默認零值,chan關閉,則退出range
for i:=range require{ <-ti fmt.Printf("i: %d time: %v\n",i,time.Now()) } }
簡單的demo,具體的channel原理可參考其他博客。