Open10
golangci-lintで検知されるコード
errcheck
func valid() error {
return nil
}
func main() {
valid() // errcheck
}
unused
var errValid = errors.New("error") // unused
func main() {}
gomnd
var errCheck = errors.New("error")
func check() (int, error) {
for i := 0; i < 10; i++ {
if i == 5 { // gomod
return i, nil
}
}
return 0, errCheck
}
forbidigo
var errCheck = errors.New("error")
func check() (int, error) {
for i := 0; i < 10; i++ {
fmt.Println(i) // forbidigo
}
return 0, errCheck
}
unparam
func check() (int, error) { // unparam
for i := 0; i < 10; i++ {
log.Println(i)
}
return 0, nil
}
wsl
func check() int {
for i := 0; i < 10; i++ {
log.Println(i)
}
return 0 // wsl
}
revive
func main() {
if err := valid(); err != nil { // revive
}
}
errorlint
func main() {
if err := valid(); err != nil {
if err == errValid { // errorlint
log.Println("errValid")
}
}
}
gosimple
func tmp(ss []string) {
if ss != nil { //gosimple
for _, s := range ss {
log.Println(s)
}
}
}
ineffassign
func tmp() int {
var i int
i = 0 // ineffassign
i = 1
return i
}