Построитель строки в Kotlin
Когда текст собирают из нескольких фрагментов,
ручной StringBuilder раздувает код.
Функция buildString прячет создание
буфера и возвращает готовую строку.
Блок имеет получатель StringBuilder, поэтому
внутри пишут append и appendLine
без префикса объекта:
fun main() {
val csv = buildString {
append("id")
append(",")
append("name")
}
println(csv)
}
Так удобно склеивать строки с разделителями и переводами строк. Каждый фрагмент остается на своей строке исходника:
fun main() {
val report = buildString {
appendLine("title:stats")
append("count=")
append(42)
}
println(report)
}
Результат buildString можно сразу передать
в вывод или вернуть из функции. Буфер после
вызова снаружи не виден:
fun badge(code: String, level: Int): String = buildString {
append('[')
append(code)
append(':')
append(level)
append(']')
}
fun main() {
println(badge("vip", 2))
}
Соберите строку "a|b|c" через
стандартный построитель текста и выведите ее.
Напишите функцию, которая по имени пользователя
возвращает приветствие "hi, NAME",
используя построитель строки внутри.