V8022. A parameter is not used in a function or method.
Анализатор обнаружил параметр, который ни разу не использовался в теле функции/метода.
Рассмотрим пример, в котором допущена ошибка:
func cardHasLock(width int, // <=
height int,
xScale float64,
yScale float64) {
lockWidth := int(math.Round(float64(height) * xScale))
lockHeight := int(math.Round(float64(height) * yScale))
....
}
Параметр height используется не только при инициализации переменной lockHeight, но и для lockWidth, что является опечаткой. Для корректной инициализации переменной lockWidth нужно использовать параметр width:
lockWidth := int(math.Round(float64(width) * xScale))
Анализатор считает неиспользование параметра допустимым и не выдает предупреждение в следующих случаях:
- функция/метод используются как значение (callback), где наличие параметра продиктовано внешним кодом;
- функция/метод являются экспортируемыми и должны сохранять структуру параметров для обратной совместимости;
- набор параметров жёстко задан требованиями конкретного интерфейса;
- параметр функции/метода объявлен как пустой идентификатор;
- функция/метод имеют пустое или тривиальное тело;
- все параметры функции/метода не используются;
- в файле содержатся более одной функции/метода с похожими параметрами, которые не используются.