Принимаемые значения в методе Kotlin
Объясните, пожалуйста, как правильно понимать эту конструкцию:
fun bind(
cardModel: CardModel, deleteFromCard: (CardModel) -> Unit,
moreCount: (CardModel) -> Unit, lessCount: (CardModel) -> Unit
)
Unit, насколько я знаю - это тоже самое, что и viod в java
а что означает lessCount: (CardModel) - это что, создание метода, в качестве принимаемого значения в методе или я что-то не так понимаю?
Ответы (1 шт):
в Котлине это называется "опциональный тип".
по сути - это тот же интерфейс-колбэк. только не надо мучаться, чтобы объявлять отдельный интерфейс.
да, можно сказать что это "метод-аргумент". вызывать его можно либо
lessCount() или lessCount.invoke()
в данном коде вы могли создать либо 1 интерфейс с 3 методами и передавать объект этого интерфейса.
можно было создать по 1 интерфейсу с 1им методом и передавать 3 объекта.
а можно и так, как сделано, через опциональный тип.