Принимаемые значения в методе Kotlin

Объясните, пожалуйста, как правильно понимать эту конструкцию:

 fun bind(
        cardModel: CardModel, deleteFromCard: (CardModel) -> Unit,
        moreCount: (CardModel) -> Unit, lessCount: (CardModel) -> Unit
    )

Unit, насколько я знаю - это тоже самое, что и viod в java

а что означает lessCount: (CardModel) - это что, создание метода, в качестве принимаемого значения в методе или я что-то не так понимаю?


Ответы (1 шт):

Автор решения: Wlad

в Котлине это называется "опциональный тип".
по сути - это тот же интерфейс-колбэк. только не надо мучаться, чтобы объявлять отдельный интерфейс.

да, можно сказать что это "метод-аргумент". вызывать его можно либо
lessCount() или lessCount.invoke()

в данном коде вы могли создать либо 1 интерфейс с 3 методами и передавать объект этого интерфейса.
можно было создать по 1 интерфейсу с 1им методом и передавать 3 объекта.
а можно и так, как сделано, через опциональный тип.

→ Ссылка