Отметить неиспользованные параметры в Котлине

Я определяю некоторые функции, которые будут использоваться как обратные вызовы, и не все из них используют все свои параметры.

Как я могу пометить неиспользуемые параметры, чтобы компилятор не сообщал мне о них?

С @Suppress аннотации @Suppress Вы можете подавить любую диагностику по любому объявлению или выражению.

Примеры: Подавить предупреждение о параметре:

 fun foo(a: Int, @Suppress("UNUSED_PARAMETER") b: Int) = a 

Запретить все предупреждения UNUSED_PARAMETER внутри декларации

 @Suppress("UNUSED_PARAMETER") fun foo(a: Int, b: Int) { fun bar(c: Int) {} } @Suppress("UNUSED_PARAMETER") class Baz { fun foo(a: Int, b: Int) { fun bar(c: Int) {} }![enter image description here][1] } 

Кроме того, намерения IDEA (Alt + Enter) могут помочь вам устранить любую диагностику:

Если ваш параметр находится в лямбда, вы можете использовать символ подчеркивания, чтобы опустить его. Это удаляет предупреждения неиспользуемых параметров. Он также предотвратит IllegalArgumentException в случае, если параметр был пустым и был отмечен как ненулевой.

См. https://kotlinlang.org/docs/reference/lambdas.html#underscore-for-unused-variables-since-11.

Intereting Posts
Исключение при анализе выражения в AppDatabase Kotlin: нельзя использовать GenericTypeIndicator для вызова getBalue базы данных Firebase Kotlin: Локальная функция передается встроенным функциям как параметр inlined? Функция типа Ketlin reified как расширение функции – Вызывается с Java? Переменные не инициализируются должным образом при инициализации в абстрактной абстрактной функции, вызванной из конструктора или блока init Как создать экземпляр нового экземпляра родового типа Moshi: ожидается класс, ParameterizedType или GenericArrayType, но <null> имеет тип null Котлинская последовательность «пропускает» первые N записей Как смешивать несколько конструкторов родительского класса с val в дочернем классе Как выводить / печатать значение в TextView Сгенерировать диаграмму классов Котлина смеющийся отложенный ответ сервера Каковы правила вывода точки с запятой в Котлин? Функция расширения вызова внутри класса java как любой оператор RX Kotlin: зачем мне инициализировать var с помощью пользовательского getter?