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 ./…