背景
单元测试的时候用go test执行包下所有的测试文件时,编译失败,控制台输出一大堆prinf format错误,有参数类型不匹配的,有参数个数不匹配的。但是在同事的电脑上跑就不出错。后来怀疑是golang版本的问题,我在docker容器中将golang升级到1.12.7了,后来编辑了一下Dockerfile把go版本换成1.10然后重构一下镜像就行了。
解决方法
检查golang版本是否太高了,高版本的golang对格式化输出更加严格,如果是低版本的golang写的项目,编译整个项目的时候并不报错,运行单个包时可能会报这样的错误。要么就全部改成标准的format输出,要么降级golang版本。
有疑问加站长微信联系(非本文作者)