github: https://github.com/golang/lint

golint是类似javascript中的jslint的工具,主要功能就是检测代码中不规范的地方。golint用于检测go代码。

使用

$ go get github.com/golang/lint
$ go install github.com/golang/lint

golint 文件名或者目录
检测对应的代码。

golint会输出一些代码存在的问题:
比如:

recorder.go:55:5: exported var RecordBind should have comment or be unexported
recorder.go:158:1: exported function Record_ErrorRecord should have comment or be unexported
recorder.go:173:6: don't use underscores in Go names; type Data_MemStats should be DataMemStats
recorder.go:179:2: struct field FreeRam should be FreeRAM

上面的输出中文件recorder.go,179行,在struct中字段FreeRam应该是 FreeRAM,输出信息非常的详细

golint 会检测的方面:

  • 变量名规范
  • 变量的声明,像var str string = “test”,会有警告,应该var str = “test”
  • 大小写问题,大写导出包的要有注释
  • x += 1 应该 x++

等等
详细可以看官方库示例,https://github.com/golang/lint/tree/master/testdata