Сайт разработчика Александра Климова

/* Моя кошка замечательно разбирается в программировании. Стоит мне объяснить проблему ей - и все становится ясно. */
John Robbins, Debugging Applications, Microsoft Press, 2000

Kotlin

Любой кот линяет. Из выпавшей шерсти можно собрать второго кота. По такой же аналогии из Java можно создать новый язык Kotlin, образованный из двух слов Kot linяет. Есть ещё неправдоподобная версия об острове в Финском заливе, которая просто смешна и не заслуживает внимания.

Kotlin

17 мая 2017 года на Google IO объявили о поддержке Kotlin в Android Studio 3.0. Пора учить новый язык, который заслужил много лестных отзывов от опытных разработчиков.

Базовые принципы

Исходный код хранится в файлах с расширением .kt (почему не .kot?).

В языке используется "кошачий принцип" - чем меньше печатаешь код, тем больше времени останется на сон.

Например, необязательно ставить точку с запятой в конце выражения. Так поступает JavaScript и многие новые языки программирования.


// и так сойдёт
val x = 1
val y = 2

Необязательно объявлять тип переменной, если из контекста понятно её предназначение. Если брать предыдущий пример, то по значению 1 можно догадаться, что переменная является типом Int.

Массивы являются классами.

Можно сразу вызывать println вместо длинного System.out.println. Стандартная библиотека Kotlin включает в себя популярные методы Java для быстрого доступа.

Объявление переменных

В Java мы сначала указываем тип переменной, а потом её имя. В Kotlin немного не так. Сначала вы указываете ключевое слово val или var, затем имя переменной и по желанию можете указать тип переменной.


val kitty = "Васька"
val age = 7
// необязательно, но укажем тип
val weight: Int = 3

Если вы не инициализируете переменную, то тип указать нужно обязательно.


val age: Int
age = 7

Ключевое слово val (от слова value) ссылается на неизменяемую переменную, что соответствует ключевому слову final в Java.

А часто используемое выражение в Java можно заменить на конструкцию с ключевым словом const


// Java
public static final String CAT_TALK = "meow";

// Kotlin
const val CAT_TALK = "meow"

Для обычных изменяемых переменных используется ключевое слово var (от слова variable).

Рекомендуется всегда использовать val, если это позволяет логика программы.

При этом нужно помнить, что хотя ссылка val неизменяема, сам объект может быть изменяемым:


val cats = arrayListOf("Васька")
cats.add("Барсик")

При использовании var вы можете не указывать тип переменной, но это не значит, что вы можете использовать его не по назначению, это вам не PHP.


var answer = 42
// так нельзя
answer = "нет ответа"

fun

enum

when

for

in

Классы

Интерфейсы

Коллекции

Работа со строками

Лямбды

Реклама