Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗ktSpIxInr 88 of 299 menu
◀ ▶

Введение в инфикс и операторы в Kotlin

Обычный вызов метода идет через точку: сначала объект, затем имя и аргументы в скобках. Для некоторых функций Kotlin разрешает другой стиль - имя стоит между получателем и одним аргументом, без точки и без скобок вокруг аргумента.

Такую функцию помечают словом infix перед fun. У нее ровно один параметр, кроме скрытого this. Объявление для своего типа выглядит так:

class Label(val text: String) infix fun Label.combinedWith(other: Label): Label { return Label("${this.text}-${other.text}") }

Вызов читается как короткая фраза: слева получатель, посередине имя функции, справа аргумент. Порядок тот же, что у точечной записи, но запись короче:

fun main() { val left = Label("api") val right = Label("v2") val tag = left combinedWith right println(tag.text) }

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

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить