Шаблоны строк: $variable и ${expression}
Встраивайте переменные и выражения в строки с помощью синтаксиса шаблонов
«Шаблоны строк: $variable и ${expression}» — бесплатный урок Kotlin Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Kotlin Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Kotlin Academy содержит 4 уроков всего.
Что такое шаблоны строк?
Шаблоны строк позволяют напрямую вставлять значения в строку: используйте $ для простых переменных и ${...} для полноценных выражений.
Вставка переменной
Поставьте перед именем переменной символ $ внутри строки. Kotlin подставит её значение во время выполнения.
fun main() {
val name = "Ada"
println("Hello, $name!") // Hello, Ada!
}Несколько переменных
Вставляйте столько переменных, сколько нужно. Каждый фрагмент $name заменяется независимо.
fun main() {
val first = "Marie"
val last = "Curie"
val year = 1903
println("$first $last won Nobel in $year")
}Выражения с ${...}
Для всего, что выходит за рамки одного идентификатора — арифметики, вызова метода или доступа к свойству, — используйте ${expression}.
fun main() {
val a = 10
val b = 5
println("Sum: ${a + b}")
println("Product: ${a * b}")
}Вызов методов внутри шаблонов
Шаблоны могут вызывать функции и обращаться к свойствам. Подходит всё, что вычисляется в значение.
fun main() {
val word = "kotlin"
println("Length: ${word.length}")
println("Upper: ${word.uppercase()}")
}Условные выражения
В Kotlin if является выражением, поэтому его можно вставлять непосредственно в шаблон.
fun main() {
val score = 75
println("Result: ${if (score >= 60) "pass" else "fail"}")
}Экранирование знака доллара
Если Вам нужен сам символ $, экранируйте его обратной косой чертой: \$.
fun main() {
val price = 19
println("Cost: \$$price") // Cost: $19
}Вложенные шаблоны
Можно вкладывать шаблоны строк внутрь ${...}, хотя глубоко вложенные строки становится трудно читать.
fun main() {
val items = listOf("apple", "banana")
println("List: ${items.joinToString { "[$it]" }}")
}Шаблоны и коллекции
Сочетайте шаблоны с операциями над коллекциями, чтобы лаконично форматировать вывод.
fun main() {
val numbers = listOf(1, 2, 3, 4, 5)
println("Sum of ${numbers.size} numbers: ${numbers.sum()}")
}Шаблоны и преобразование типов
Внутри шаблонов работает любой тип с осмысленной реализацией toString(): логические значения, числа и пользовательские классы.
data class Point(val x: Int, val y: Int)
fun main() {
val p = Point(3, 4)
println("Point: $p") // uses Point.toString()
println("X coord: ${p.x}")
}Замечание о производительности
Компилятор Kotlin преобразует шаблоны строк в вызовы StringBuilder, подобно ручному объединению строк, поэтому обычно разницы в производительности нет. Для удобства чтения предпочитайте шаблоны.
fun main() {
val n = 42
val a = "Value is $n" // template
val b = "Value is " + n // concatenation
println(a == b) // true
}Быстрая проверка
Какой синтаксис шаблона правильно вставляет результат выражения x + 1?
Итоги
Используйте $variable для простых идентификаторов и ${expression} для всего более сложного. Экранируйте обычные знаки доллара с помощью \$. Шаблоны компилируются в эффективный код StringBuilder.
Часто задаваемые вопросы
Урок «Шаблоны строк: $variable и ${expression}» бесплатный?
Да — полный текст урока «Шаблоны строк: $variable и ${expression}» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Kotlin Academy, подпишись на CoddyKit PRO. Курс Kotlin Academy содержит 4 уроков всего.
Чему я научусь в уроке «Шаблоны строк: $variable и ${expression}»?
Встраивайте переменные и выражения в строки с помощью синтаксиса шаблонов Ты практикуешь Kotlin Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Kotlin Academy?
Предыдущий опыт не требуется. Kotlin Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Шаблоны строк: $variable и ${expression}»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Kotlin Academy?
Да. Каждый урок Kotlin Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Основы строк: литералы, escape-последовательности и длина
- Шаблоны строк: $variable и ${expression}
- Необработанные строки и тройные кавычки
- Основные функции строк: trim, split, replace, contains