Ответ
Линтер в Go (например, golint или staticcheck) проверяет код на соответствие стилю, идиомам и потенциальным ошибкам. Основные проверки:
- Стиль именования (публичные сущности с большой буквы, приватные — с маленькой)
- Неиспользуемые переменные/импорты
- Упрощение кода (например, избыточные
else) - Ошибки в форматировании строк (например,
fmt.Printfбез аргументов) - Потенциальные nil-паники
- Некорректные defer-вызовы (например, внутри цикла)
- Избыточные type-конверсии
Пример:
// Плохо (линтер предупредит)
var UnusedVar int
func foo() error {
if err := bar(); err != nil {
return err
} else { // Лишний else
return nil
}
}