Что такое инфиксные функции

«Что такое инфиксные функции» — вопрос из категории Kotlin, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Инфиксные функции в Kotlin позволяют вызывать функции с одним параметром в инфиксной нотации (без точки и скобок). Для этого функция должна быть:

  1. Объявлена с модификатором infix
  2. Быть членом класса или функцией-расширением
  3. Иметь ровно один параметр

Пример:

infix fun Int.add(x: Int) = this + x

val result = 5 add 3  // 8

Часто используются для DSL и улучшения читаемости кода, например в стандартной библиотеке:

mapOf(1 to "one", 2 to "two")  // `to` - инфиксная функция