freeCodeCamp/guide/russian/kotlin/strings/index.md

246 lines
5.7 KiB
Markdown
Raw Normal View History

2018-10-12 20:00:59 +00:00
---
title: Strings
localeTitle: Струны
---
# Струны
Строка - это базовый тип данных на языке программирования. Строки представлены типом `String` . Строки неизменяемы. У Kotlin есть богатый API для работы со строками.
### Основное использование
#### декларация
```kotlin
// Explicit type declaration
var firstName : String = "Elon"
// or Implicit type declaration and will still compile
val lastName = "Musk"
```
Кроме того, обратите внимание на использование типа переменной `val` , вот как он себя ведет
```kotlin
firstName = "Mark" // can be changed
lastName = "Zuckerberg" // cannot be changed
lastName = 12 // Error: type mismatch
```
#### Конкатенация строк
Показан в фрагменте кода, как и Java, добавляя `Int` к `String` приведет к выводу `String`
```kotlin
var str = "abc" + 1
println(str + "def")
```
Вывод:
```shell
abc1def
```
Даже без явного преобразования значения `Int` 1 в объект `String` , в результате результат остается `String` .
#### Строка с несколькими строками
Программисты могут объявлять переменные `String` с несколькими строками, используя тройные кавычки вместо двойных кавычек
```kotlin
var str = """
This is line 1
This is line 2
This is line 3
"""
println(str)
```
Вывод:
```shell
This is line 1
This is line 2
This is line 3
```
или с `.trimIndent()`
Использование `trimIndent()` дополнительно поможет обеспечить чистый выходной формат, удалив лишние и ненужные отступы в каждой строке. Изучите фрагмент кода ниже:
```kotlin
var str = """
This is line 1
This is line 2
This is line 3
""".trimIndent()
println(str)
```
Вывод:
```shell
This is line 1
This is line 2
This is line 3
```
### Доступ к символам строки
#### Доступ к индексу
Программисты могут обращаться к элементам (символам) строки, используя оператор доступа к индексу:
```kotlin
var str = "Example"
println(str[2])
```
Вывод:
```shell
a
```
Это как доступ к элементу из массива, вы получаете:
```kotlin
var str = "Example"
println(str[9]) // Error: index out of bounds
```
#### Итерация через строку
Элементы строки - это символы, к которым можно получить доступ посредством операции индексирования: `s[i]` .
```kotlin
var str = "Example"
for (c in str) {
println(c)
}
```
Вывод:
```shell
E
x
a
m
p
l
e
```
### Неизменяемость строки
Подобно Java, вы не можете изменять отдельные элементы `String`
```kotlin
var str = "Example"
str[2] = "b" // Error
```
#### Повторное присвоение значений String
```kotlin
var str = "Example"
println(str)
str = "Example was changed"
println(str)
```
Вывод:
```shell
Example
Example was changed
```
### Строковые свойства
#### Определение длины строки
```kotlin
var str = "Example"
println(str.length)
```
Вывод:
```shell
7
```
### Строковые функции
Это некоторые из обычных функций `String` доступных из текущей версии Kotlin
### сравнить с
Сравнивает этот объект с указанным объектом для заказа. Возвращает ноль, если этот объект равен указанному другому объекту, отрицательное число, если оно меньше другого, или положительное число, если оно больше другого.
```kotlin
var str = "Example"
var str2 = "Example123"
var str3 = "Example12345"
println(str.compareTo(str2))
println(str.compareTo(str3))
println(str3.compareTo(str))
println(str.compareTo("Example"))
```
Вывод:
```shell
-3
-5
5
0 # Equal
```
### равняется
Указывает, является ли объект `String` в точности равным другому объекту `String`
```kotlin
var str = "Example"
var str2 = "Example2"
println(str.equals("Example"))
println(str2.equals("Example"))
```
Вывод:
```shell
true
false
```
### получить
Возвращает символ в указанном индексе в этой последовательности символов.
\`\` \`kotlin var str = "Пример" Println (str.get (3))
```
Output:
```
оболочка м
```
### toString
Returns a string representation of the object.
```
Котлин println (9.toString () + 10) println (9 + 10)
```
Output:
```
оболочка "910" 19 \`\` \`
#### Ресурсы
* [Основные типы Котлина](https://kotlinlang.org/docs/reference/basic-types.html)
* [Ссылка для ссылки на Kotlin](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)