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
}