Какие знаешь функции в Kotlin

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

Ответ

let - выполняет блок кода для объекта, возвращает результат блока.

val length = "Hello".let { it.length }

run - аналогично let, но внутри блока this вместо it.

val result = "Kotlin".run { length > 5 }

with - как run, но не extension-функция.

with(view) { visibility = View.GONE }

apply - возвращает сам объект после выполнения блока (this).

val list = mutableListOf<Int>().apply { add(1) }

also - как apply, но внутри блока it вместо this.

val list = mutableListOf(1).also { it.add(2) }

takeIf/takeUnless - возвращает объект, если условие true/false.

val even = 42.takeIf { it % 2 == 0 }

repeat - выполняет блок N раз.

repeat(3) { println("Hello") }

use - автоматически закрывает ресурс (AutoCloseable).

File("test.txt").inputStream().use { it.readBytes() }