原文連接:http://zhoubotong.site/post/3.html
一. Golint介紹html
Golint 是一個源碼檢測工具用於檢測代碼規範git
Golint 不一樣於gofmt, Gofmt用於代碼格式化github
Golint會對代碼作如下幾個方面檢查golang
package註釋 必須按照 「Package xxx 開頭」bash
package命名 不能有大寫字母、下劃線等特殊字符app
struct、interface等註釋 必須按照指定格式開頭ide
struct、interface等命名函數
變量註釋、命名工具
函數註釋、命名post
各類語法規範校驗等
首先在咱們下載的位置,經過右鍵git bash here 打開git控制檯
下載golang 的 lint,下載地址:https://github.com/golang/lint
mkdir -p $GOPATH/src/golang.org/x/ cd $GOPATH/src/golang.org/x/ git clone https://github.com/golang/lint.git git clone https://github.com/golang/tools.git
到目錄$GOPATH/src/golang.org/x/lint/golint中運行
go install
安裝成功後咱們會在C:\用戶\77293\go\bin 目錄下面看到咱們的golint.exe執行程序,這個目錄是咱們安裝go包的目錄路徑。
一、打開goland Idea
二、選擇項目欄File 下拉選中 Setting,打開設置控制面板
設置參數說明:
Program $GOPATH\src\bin\golint.exe (直接填寫glint.exe所在路徑便可)
Arguments $FilePath$
Working directory $ProjectFileDir$
3、選中keymap > External Tools > External Tools > golint進行快捷鍵配置
選擇咱們須要檢測的go文件
按住咱們以前設置的快捷鍵,就能夠進行檢測了,好比說結果以下:
golint檢測代碼有2種方式
1: golint file
2: golint directory
golint校驗常見的問題以下所示
don't use ALL_CAPS in Go names; use CamelCase
不能使用下劃線命名法,使用駝峯命名法
exported function Xxx should have comment or be unexported
外部可見程序結構體、變量、函數都須要註釋
var statJsonByte should be statJSONByte
var taskId should be taskID
通用名詞要求大寫
iD/Id -> ID
Http -> HTTP
Json -> JSON
Url -> URL
Ip -> IP
Sql -> SQL
don't use an underscore in package name
don't use MixedCaps in package name; xxXxx should be xxxxx
包命名統一小寫不使用駝峯和下劃線
comment on exported type Repo should be of the form "Repo ..." (with optional leading article)
註釋第一個單詞要求是註釋程序主體的名稱,註釋可選不是必須的
type name will be used as user.UserModel by other packages, and that stutters; consider calling this Model
外部可見程序實體不建議再加包名前綴
if block ends with a return statement, so drop this else and outdent its block
if語句包含return時,後續代碼不能包含在else裏面
should replace errors.New(fmt.Sprintf(...)) with fmt.Errorf(...)
errors.New(fmt.Sprintf(…)) 建議寫成 fmt.Errorf(…)
receiver name should be a reflection of its identity; don't use generic names such as "this" or "self"
receiver名稱不能爲this或self
error var SampleError should have name of the form ErrSample
錯誤變量命名需以 Err/err 開頭
should replace num += 1 with num++
should replace num -= 1 with num--
a+=1應該改爲a++,a-=1應該改爲a–