背景
單元測試的時候用go test執行包下所有的測試文件時,編譯失敗,控制檯輸出一大堆prinf format錯誤,有參數類型不匹配的,有參數個數不匹配的。但是在同事的電腦上跑就不出錯。後來懷疑是golang版本的問題,我在docker容器中將golang升級到1.12.7了,後來編輯了一下Dockerfile把go版本換成1.10然後重構一下鏡像就行了。
解決方法
檢查golang版本是否太高了,高版本的golang對格式化輸出更加嚴格,如果是低版本的golang寫的項目,編譯整個項目的時候並不報錯,運行單個包時可能會報這樣的錯誤。要麼就全部改成標準的format輸出,要麼降級golang版本。