Строки в Kotlin
Строки представлены типом String. Строки неизменны. Элементы строки - это символы, к которым можно обратиться с помощью операции индексации: s[i]. Строка может быть повторена с помощью цикла for:
for (c in str) {
println(c)
}
Вы можете объединять строки, используя оператор +. Это также работает для объединения строк со значениями других типов, если первый элемент в выражении является строкой:
val s = "abc" + 1
println(s + "def")
Обратите внимание, что в большинстве случаев использование строковых шаблонов или необработанных строк предпочтительнее конкатенации строк.
Строковые литералы
В Kotlin есть два типа строковых литералов: экранированные строки, в которых могут быть экранированные символы, и необработанные строки, которые могут содержать символы новой строки и произвольный текст. Вот пример экранированной строки:
val s = "Hello, world!\n"
Экранирование выполняется обычным способом с обратной косой чертой.
Необработанная строка отделяется тройной кавычкой ("""), не содержит экранирования и может содержать символы новой строки и любые другие символы:
val text = """
for (c in "foo")
print(c)
"""
Вы можете удалить начальные пробелы с помощью функции trimMargin():
val text = """
|Tell me and I forget.
|Teach me and I remember.
|Involve me and I learn.
|(Benjamin Franklin)
""".trimMargin()
По умолчанию | используется в качестве префикса поля, но вы можете выбрать другой символ и передать его в качестве параметра, например trimMargin(">").
Строковые шаблоны
Строковые литералы могут содержать шаблонные выражения, то есть фрагменты кода, которые оцениваются и чьи результаты объединяются в строку. Выражение шаблона начинается со знака доллара ($) и состоит из простого имени:
val i = 10
println("i = $i") // печатает "i = 10"
или произвольное выражение в фигурных скобках:
val s = "abc"
println("$s.length is ${s.length}") // печатает "abc.length is 3"
Шаблоны поддерживаются как внутри необработанных строк, так и внутри экранированных строк. Если вам нужно представить буквенный символ $ в необработанной строке (которая не поддерживает экранирование обратной косой черты), вы можете использовать следующий синтаксис:
val price = """
${'$'}9.99
"""
Читайте также:
- Массивы в Kotlin
- Литеральные константы чисел в Kotlin
- Числовые типы в Kotlin: представление, явные преобразования
Комментарии
Отправить комментарий