﻿# V8022\. A parameter is not used in a function or method\.

Анализатор обнаружил параметр, который ни разу не использовался в теле функции/метода\. 

Рассмотрим пример, в котором допущена ошибка:

```cpp
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`:

```cpp
lockWidth := int(math.Round(float64(width) * xScale))
```

Анализатор считает неиспользование параметра допустимым и не выдает предупреждение в следующих случаях:

* функция/метод используются как значение \(callback\), где наличие параметра продиктовано внешним кодом;
* функция/метод являются экспортируемыми и должны сохранять структуру параметров для обратной совместимости;
* набор параметров жёстко задан требованиями конкретного интерфейса;
* параметр функции/метода объявлен как [пустой идентификатор](https://go.dev/ref/spec#Blank_identifier);
* функция/метод имеют пустое или тривиальное тело;
* все параметры функции/метода не используются;
* в файле содержатся более одной функции/метода с похожими параметрами, которые не используются\.