error
error是builtin包定义的接口(本文简称err)
默认值为nil
一般声明在文件顶部(import后),采用驼峰命名法
6.8.1 自定义错误
6.8.2 错误处理
6.9.1
flag
flag数据类型为int,是指定log模式的开关,以按位或进行组合
os.Exit(int)
中断程序并退出,延迟函数不会被执行,0代表正常,非0代表错误
6.9.2 Logger 是log包定义的结构体
用于记录日日志
6.9.3 记录方式
6.10.1 命名规范
文件名: xxx_test.go (通常xxx为被测试文件名)
6.10.2 测试函数
测试函数: func TestXxx(*testing.T) (通常Xxx为被测试函数名)
性能测试函数: func BenchmarkXxx(*testing.B) (通常Xxx为被测试函数名)
6.10.3 testing.T与testing.B
testing.T与testing.B是testing包定义的结构体,下面简称t与b
6.10.4 测试命令(go mod下)
项目名可以简写为".",下面同一为"."
测试指定包: go test ./文件夹路径
将自动调用所有_test.go文件中的所有TestXxx函数
测试指定文件: go test ./文件夹路径/xxx_test.go ./go/文件夹路径/xxx.go
将自动调用xxx_test.go中的所有TestXxx函数
flag
flag可以写在 ./... 前也可以写在 ./... 之后
也运行BenchmarkXxx函数: go test -bench ./…
详细输出(verbose): go test -v ./…
即使运行成功也输出日志
规定测试次数: go test -benchtime Nx ./…
指定测试cpu数量: go test -cpu N ./…
指定测试函数: go test -run TestXxx ./…
只测试TestXxx函数
超时限制: go test -timeout XhXmXs ./…
默认限制为10min
打印测试的内存使用统计: go test -benchmem ./…