Go 官方提供了 go vet 工具可以用于对 Go 源码做一系列静态检查,在 Go 1.14 版以前默 认支持变量遮蔽检查,Go 1.14 版之后,变量遮蔽检查的插件就需要我们单独安装了,安 装方法如下:
$go install golang.org/x/tools/go/analysis/passes/shadow/cmd/shadow@latest
可以通过 go vet 扫描代码并检查这里面有没有变量遮蔽的问题了。 (which shadow) -strict complex.go ./complex.go:13:12: declaration of "err" shadows decl