Go之路(二十六):定时器
定时器
定时器一般配合Select使用,返回是一个管道
每次取一个值
package main
import(
"fmt"
"time"
)
func main() {
var a = make(chan int,5)
var b = make(chan int,5)
go func(){
var i int
for {
a <- i
time.Sleep(time.Second)
b <- i*i
time.Sleep(time.Second)
i++
}
}()
t := time.NewTicker(time.Second)
for{
select{
case v := <- a:
fmt.Println(v)
case v:= <- b:
fmt.Println(v)
case <-t.C:
time.Sleep(time.Second)
fmt.Println("?")
}
t.Stop()
}
}
一定要记得Stop否则会发生内存泄漏

浙公网安备 33010602011771号