Пропустити до головного контенту

Інтерполяція рядків

Пам'ятаєте конкатенацію рядків? У попередній темі про цикли, ми використовували її, щоб до числа додати текст, наприклад: println("Сума: " + sum). А що, якщо я вам скажу, що можна робити це простіше?

Взагалі, інтерполяція рядків була створена задля того, щоб полегшувати код, який має багато змінних, які потрібно вивести. Інтеполяція виглядає наступним чином:

println("Сумма: $sum")

Тобто, даний метод дозволяє використовувати зміні прямо в рядку, без оператора додавання.

Інформація

Інтерполяція працює з будь-яким типом даних. Kotlin викликає на будь-якому виразі в рядку функцію toString().

Вирази

Окрім змінних, інтерполяція також працює з будь-якими виразами:

fun getString() = "xyz"

fun main() {
println("getString() returns ${getString()}")
}

До нашого знаку долара додались фігурні дужки, в яких і знаходиться наш вираз.

Увага

Можна робити вирази будь-якого вигляду та розміру, але рекомендую все ж таки не зловживати. Також, важливо не плутати варіант для змінних та виразів, хоча варіант для виразів і зійде для змінних, навпаки ви зробити це не зможете:

val value = 100
println("value is $value") // ok
println("value is ${value}") // ok, але IDE нам підкаже, що краще зробити за варіантом вище

println("getString() returns ${getString()}") // ok
println("getString() returns $getString()") // не ок, котлін подумає, що ви хочете отримати змінну