Строки и строковые шаблоны
Учимся собирать текст красиво — без бесконечных плюсов.
Строковый шаблон — способ подставить значение переменной или выражения прямо в текст строки через символ
$.
Работа с текстом — повседневная задача. Kotlin делает её удобной благодаря строковым шаблонам, которые избавляют от громоздкой конкатенации со множеством плюсов.
Шаблоны вместо склейки
Внутри строки символ $ подставляет значение переменной. Для целого выражения используют ${...}.
fun main() {
val name = "Аня"
val age = 25
println("$name, возраст $age")
println("Через год будет ${age + 1}")
}Вывод:
Аня, возраст 25 Через год будет 26
Многострочные строки
Текст в тройных кавычках сохраняет переносы строк как есть — удобно для шаблонов, SQL-запросов или текста на несколько абзацев.
fun main() {
val text = """
Строка один
Строка два
""".trimIndent()
println(text)
}Вывод:
Строка один Строка два
Полезные методы строк
У строк много готовых методов. Несколько частых:
| Метод | Что делает |
length | длина строки |
uppercase() | в верхний регистр |
trim() | убирает пробелы по краям |
contains("x") | есть ли подстрока |
fun main() {
val s = " Kotlin "
println(s.trim().uppercase())
println(s.trim().length)
}Вывод:
KOTLIN 6
Как работает под капотом
Строки в Kotlin неизменяемы: любой метод вроде uppercase() или trim() не меняет исходную строку, а создаёт новую. Поэтому результат всегда нужно сохранять или использовать сразу. А чтобы поставить настоящий знак доллара, экранируйте его: \$.
Частые ошибки
- Лепить плюсы вместо шаблонов.
"$name: $age"читается лучше, чемname + ": " + age. - Забывать фигурные скобки для выражения. Для
age + 1нужно${age + 1}, иначе подставится толькоage. - Ожидать, что метод изменит строку. Строки неизменяемы — методы возвращают новую строку.
Итог
- Подставляйте значения через
$переменнаяи${выражение}. - Тройные кавычки дают многострочные строки.
- Строки неизменяемы — методы создают новую строку.