golint is a linter for Go source code.

Invoke golint with one or more filenames.
The output of this tool is a list of suggestions in Vim quickfix format,
which is accepted by lots of different editors.

golint differs from govet. govet is concerned with correctness, whereas
golint is concerned with coding style. golint is in use at Google, and it
seeks to match the accepted style of the open source Go project.

The suggestions made by golint are exactly that: suggestions.
golint is not perfect, and has both false positives and false negatives.
Do not treat its output as a gold standard. We will not be adding pragmas
or other knobs to suppress specific warnings, so do not expect or require
code to be completely "lint-free".
Unlimited effort will not be expended to make golint perfect.
It is considered an abuse of this tool to run it for machine consumption.

If you find an established style that is frequently violated, and which
you think golint could statically check, file an issue at
  https://github.com/golang/lint/issues


Vim
---
Add this to your ~/.vimrc:
  function! s:GoLint()
    cexpr system("golint " . shellescape(expand('%')))
    copen
  endfunction
  command! GoLint :call s:GoLint()

Running :GoLint will run golint on the current file and populate the quickfix list.
