Go 安裝配置golint

原文連接:http://zhoubotong.site/post/3.html
一. Golint介紹html

  1. Golint 是一個源碼檢測工具用於檢測代碼規範git

  2. Golint 不一樣於gofmt, Gofmt用於代碼格式化github

  3. Golint會對代碼作如下幾個方面檢查golang

  4. package註釋 必須按照 「Package xxx 開頭」bash

  5. package命名 不能有大寫字母、下劃線等特殊字符app

  6. struct、interface等註釋 必須按照指定格式開頭ide

  7. struct、interface等命名函數

  8. 變量註釋、命名工具

  9. 函數註釋、命名post

  10. 各類語法規範校驗等

二. Golint安裝

    首先在咱們下載的位置,經過右鍵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包的目錄路徑。

3、配置golint

     一、打開goland Idea
     二、選擇項目欄File 下拉選中 Setting,打開設置控制面板

 

設置參數說明:

Program    $GOPATH\src\bin\golint.exe (直接填寫glint.exe所在路徑便可)
Arguments $FilePath$
Working directory    $ProjectFileDir$
    3、選中keymap > External Tools > External Tools > golint進行快捷鍵配置

4、golint使用

     選擇咱們須要檢測的go文件
     按住咱們以前設置的快捷鍵,就能夠進行檢測了,好比說結果以下:

五. Golint檢驗規則

  1. golint檢測代碼有2種方式
    1: golint file

  2. 2: golint directory

golint校驗常見的問題以下所示

  1. don't use ALL_CAPS in Go names; use CamelCase
    不能使用下劃線命名法,使用駝峯命名法

  2. exported function Xxx should have comment or be unexported
    外部可見程序結構體、變量、函數都須要註釋

  3. var statJsonByte should be statJSONByte
    var taskId should be taskID
    通用名詞要求大寫
    iD/Id -> ID
    Http -> HTTP
    Json -> JSON
    Url -> URL
    Ip -> IP
    Sql -> SQL

  4. don't use an underscore in package name
    don't use MixedCaps in package name; xxXxx should be xxxxx
    包命名統一小寫不使用駝峯和下劃線

  5. comment on exported type Repo should be of the form "Repo ..." (with optional leading article)
    註釋第一個單詞要求是註釋程序主體的名稱,註釋可選不是必須的

  6. type name will be used as user.UserModel by other packages, and that stutters; consider calling this Model
    外部可見程序實體不建議再加包名前綴

  7. if block ends with a return statement, so drop this else and outdent its block
    if語句包含return時,後續代碼不能包含在else裏面

  8. should replace errors.New(fmt.Sprintf(...)) with fmt.Errorf(...)
    errors.New(fmt.Sprintf(…)) 建議寫成 fmt.Errorf(…)

  9. receiver name should be a reflection of its identity; don't use generic names such as "this" or "self"
    receiver名稱不能爲this或self

  10. error var SampleError should have name of the form ErrSample
    錯誤變量命名需以 Err/err 開頭

  11. should replace num += 1 with num++
    should replace num -= 1 with num--a+=1應該改爲a++,a-=1應該改爲a–

相關文章
相關標籤/搜索