這幾天認真地來試用了一些 vim-go 裡提供的指令:
1 :GoDef 可以快速跳到 symbol 的定義。( 按Ctrl + O 跳回 )
2 goimports 基本上,算是 gofmt 的加強版
直接在 .vimrc 裡設定,取代掉 gofmt
let g:go_fmt_command = "goimports"
3 :GoLint 可以得到一些很好的 code review 的建議。( 按 :ccl 可以關閉 quickfix window )
4 :GoRename refactor 的利器,用來快速修改函數的名稱
5 :GoAlternate 快速切換 test file 和 original source file
6 :GoVet 做靜態分析,抓出一些邏輯的 bug 。比方說,如果有資料結構有定義 marshal 後的json格式。而格式寫錯,就可以透過 go vet 抓得出來。
7 :GoErrCheck 可以檢查出所有沒有處理的 error 。許多函數都會丟出 error ,寫程式時粗心一點,就會忘記要處理妥善處理這些 error 。有時連寫進 log 這麼基本的事情也沒有做,於是就會造成「錯誤卻看不出來是錯誤」