Сообщения

Сообщения за июль, 2020

Строки в Kotlin

Изображение
Строки представлены типом String . Строки неизменны. Элементы строки - это символы, к которым можно обратиться с помощью операции индексации: s[i]. Строка может быть повторена с помощью цикла for: for (c in str) { println(c) } Вы можете объединять строки, используя оператор +. Это также работает для объединения строк со значениями других типов, если первый элемент в выражении является строкой: val s = "abc" + 1 println(s + "def") Обратите внимание, что в большинстве случаев использование строковых шаблонов или необработанных строк предпочтительнее конкатенации строк. Строковые литералы В Kotlin есть два типа строковых литералов: экранированные строки, в которых могут быть экранированные символы, и необработанные строки, которые могут содержать символы новой строки и произвольный текст. Вот пример экранированной строки: val s = "Hello, world!\n" Экранирование выполняется обычным способом с обратной косой чертой. Необработанная с

Целые числа без знака в Kotlin

Изображение
Типы без знака доступны только с Kotlin 1.3 и в настоящее время являются экспериментальными. Kotlin вводит следующие типы для целых чисел без знака (unsigned integers): kotlin.UByte: 8-разрядное целое число без знака, от 0 до 255 kotlin.UShort: 16-разрядное целое число без знака, от 0 до 65535 kotlin.UInt: 32-разрядное целое число без знака, от 0 до 2^32 - 1 kotlin.ULong: 64-разрядное целое число без знака, от 0 до 2^64 - 1 Типы без знака поддерживают большинство операций их аналогов со знаком. Обратите внимание, что изменение типа с типа без знака на аналог со знаком (и наоборот) является двоичным несовместимым изменением. Типы без знака реализованы с использованием другой экспериментальной функции, а именно встроенных классов (inline classes). Специализированные классы Так же, как и для примитивов, каждый тип без знака имеет соответствующий тип, представляющий массив, специализированный для этого типа без знака: kotlin.UByteArray: массив байтов без знака kotlin.UShortA

Массивы в Kotlin

Изображение
Массивы в Kotlin представлены классом Array, который имеет функции get и set (которые превращаются в [] в соответствии с соглашениями о перегрузке операторов) и свойство size вместе с несколькими другими полезными функциями-членами: class Array<T> private constructor() { val size: Int operator fun get(index: Int): T operator fun set(index: Int, value: T): Unit operator fun iterator(): Iterator<T> // ... } Чтобы создать массив, мы можем использовать библиотечную функцию arrayOf() и передать ей значения элементов, так что arrayOf(1, 2, 3) создаст массив [1, 2, 3]. Кроме того, библиотечная функция arrayOfNulls() может использоваться для создания массива заданного размера, заполненного null элементами. Другой вариант - использовать конструктор Array, который принимает размер массива, и функцию, которая может возвращать начальное значение каждого элемента массива с учетом его индекса: // Создает Array<String> со значениями ["0", &

Булев тип в Kotlin

Изображение
Тип Boolean представляет логическое значение и имеет два значения: true и false. Булевы значения упаковываются, если требуется nullable ссылка. Встроенные операции над логическими значениями включают || - ленивое ИЛИ && - ленивое И ! - отрицание Читайте также: Операции с числовыми типами в Kotlin Литеральные константы чисел в Kotlin Числовые типы в Kotlin: представление, явные преобразования