一个小玩意,下面的程序会进行火箭发射似的倒计时。time.Tick函数返回一个channel,程序会周期性地像一个节拍器一样向这个channel发送事件。每一个事件的值是一个时间戳,不过更有意思的是其传递方式。
package main
import (
"fmt"
"time"
)
func main() {
fmt.Println("Commencing countdown.")
tick := time.Tick(1 * time.Second)
for countdown := 10; countdown > 0; countdown-- {
fmt.Printf("
%2d", countdown)
<-tick
}
fmt.Println("
launch!")
}