Свойства-расширения в Kotlin
Свойство-расширение задают словом val
или var перед типом-получателем. Снаружи
оно выглядит как поле, но вычисляется при каждом
обращении - внутри пишут get с телом:
val String.firstChar: Char
get() = this[0]
fun main() {
println("kotlin".firstChar)
}
Для строки из одного символа индекс 0
совпадает с первым элементом. Свойство не
хранит данные в объекте строки - оно лишь
дает короткое имя для выражения:
val String.lastIndexSafe: Int
get() = this.length - 1
fun main() {
val word = "abc"
println(word.lastIndexSafe)
}
Свойство-расширение можно сочетать с функцией-расширением в одном файле: одно имя для чтения, другое - для действия с параметрами.
Объявите свойство firstChar для String.
Выведите его для строки "data".
Объявите свойство isBlankLine для String.
Оно равно true, если строка пустая или
состоит только из пробелов. Проверьте " "
и "x", выведите оба ответа.