Staticcheck是一个开源的 Go语言静态代码分析工具。
例如用来分析无用的变量:
packagemaiimport("errors""fmt""log")typeResultstruct{Etries[]strig}fucQuery()(Result,error){returResult{Etries:[]strig{},},il}fucResultEtries()(Result,error){err:=errors.New("oetriesfoud")result,err:=Query()iferr!=il{returResult{},err}ifle(result.Etries)==0{returResult{},err}returresult,il}fucmai(){result,err:=ResultEtries()iferr!=il{log.Fatal(err)}fmt.Pritf("result=%v,err=%v",result,err)}分析结果:
$staticcheckmai.gomai.go:20:2:thisvalueoferriseverused(SA4006)mai.go:20:19:Newisapurefuctiobutitsreturvalueisigored(SA4017)
评论