定时器
- 初始化和一般使用
t:=time.NewTicker(time.Second)
for v := range t.C {
fmt.Println("hello",v)
}
结果:一秒输出一次
-
一定时间后
time.After(time.Second)
select {
case v := <-ch1:
fmt.Println(v)
case v := <-ch2:
fmt.Println(v)
case <-time.After(time.Second):
fmt.Println("get data timeout")
}
- 关闭回收(防止内存泄漏)
t.Stop()
单元测试
-
文件名字:_test.go
例如:calc_test.go
-
函数名字:Test*
例如:TestAdd()
-
终端运行方式:go test
详细运行方式:go test -v
测试例子
func TestAdd(t *testing.T) {
r := add(2, 4)
if r != 6 {
// 说明测试不通过
t.Fatalf("add(2, 4) error, expect:%d, actual:%d", 6, r)
}
// 测试通过打印日志
t.Logf("test add succ")
}