GolangCI-Lint

GolangCI-Lint是一个lint聚合器,它的速度很快,平均速度是gometalinter的5倍。它易于集成和使用,具有良好的输出并且具有最小数量的误报。而且它还支持go modules。最重要的是免费开源。

在MacOS上面,你还可以使用brew进行安装。

brew install golangci/tap/golangci-lint
brew upgrade golangci/tap/golangci-lint

本地安装完成后,你使用golangci-lint --version是看不到它的版本信息的。

使用
golangci-lint run [目录]/[文件名],例如检测下面的go文件。

package main

import (
	"fmt"
	"unsafe"
)

type Book struct {
	Age   int
	Title string
}

func main() {
	b := Book{}
	fmt.Println("book size:", unsafe.Sizeof(b))
}

执行命令golangci-lint run main.go,可以在命令行看到下面提示:

main.go:14:2: SA4006: this value of `b` is never used (staticcheck)
        b := Book{}
        ^

正确使用方式
官网推荐三种使用方式:

golangci-lint run
等价于:
golangci-lint run ./...
   这里...代表的就是检测目录下所有的文件
   
可以指定要检查的文件和文件夹:
golangci-lint run dir1 dir2/... dir3/file1.go

支持的linter
可以通过命令golangci-lint help linters查看它支持的linters。你可以传入参数-E/--enable来使某个linter可用,也可以使用-D/--disable参数来使某个linter不可用。例如:

golangci-lint run --disable-all -E errcheck
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值