8.03M
Category: programmingprogramming

Язык Kotlin

1.

2.

История
JetBrains
Язык разрабатывается с 2010 года
15 февраля 2016 года - релиз
Май 2017 года - Kotlin официальный инструмент разработки для ОС
Android
● Ноябрь 2017 года - выход Android Studio 3.0 с доступным по умолчанию
Kotlin-ом
● Текущая версия 1.2.31
● Май 2018 года - основной язык разработки для OC Android???
2

3.

3

4.

Компилируется в
● JVM
● JavaScript
● Machine code
○ Windows (x86_64 only at the moment)
○ Linux (x86_64, arm32, MIPS, MIPS little endian)
○ MacOS (x86_64)
○ iOS (arm64 only)
○ Android (arm32 and arm64)
○ WebAssembly (wasm32 only)
4

5.

5

6.

Базовые типы
6

7.

Функция
7

8.

Функция
8

9.

Строковые шаблоны
9

10.

Модификаторы доступа
1. public - по умолчанию. Не пишется в явном виде
2. private - видимость внутри данного класса
в Kotlin внешний класс не видит private члены своих вложенных классов.
1. protected - видимость для наследников
Если вы переопределите protected член и явно не укажете его видимость,
переопределённый элемент также будет иметь модификатор доступа
protected.
1. internal - видимость в области модуля
10

11.

Класс. Constructor
11

12.

Класс. Constructor. Вторичный
12

13.

Класс. init
13

14.

Класс. Getter. Setter.
14

15.

Класс. Getter. Setter.
15

16.

Класс. Getter. Setter.
16

17.

Класс. Наследование. Parent.
17

18.

Класс. Наследование. Child.
18

19.

Интерфейс
19

20.

Интерфейс. Реализация.
20

21.

Дата класс = POJO
21

22.

22

23.

NULL.NULL.NULL.NULL.NULL.NULL.NULL!!NU
LL.NULL.NULL.
1. Сокращение для "Если не null"
val name: String? = “Name”
name?.length
1. Сокращение для "Если не null, иначе"
name?.length ?: “default name”
1. Вызов оператора при равенстве null
name?.length ?: throw IllegalStateException("name is missing!")
1. NULL!!(можно указать явно, что будет null)
name!!.length
23

24.

NULL.NULL.NULL.NULL.NULL.NULL.NULL!!NU
LL.NULL.NULL.
Выполнение при неравенстве null:
activity?.let { activity ->
name?.let {
activity.setUserName(“My name $name”)
}
}
24

25.

NULL.NULL.NULL.NULL.NULL.NULL.NULL!!NU
LL.NULL.NULL.
25

26.

Обработка nullable Boolean
26

27.

Switch. Case.
27

28.

Цикл
28

29.

Операторы перехода
1. return
2. break
3. continue
Любое выражение в Kotlin
может быть помечено меткой
label. Метки имеют
идентификатор в виде знака @
29

30.

Приведение типов
30

31.

Лямбд
а. It.
31

32.

Расширение
32

33.

Companion object
33

34.

Companion
object
34

35.

Именованные аргументы
35

36.

FindViewById(R.id.view_name)
36

37.

37

38.

38

39.

39

40.

Ссылки
● https://kotlinlang.org/
● https://kotlinlang.ru/
● https://blog.mindorks.com/a-complete-guide-to-learn-kotlin-for-androiddevelopment-b1e5d23cc2d8
● https://antonioleiva.com/kotlin-android-extensions/
● @kotlin_lang
40
English     Русский Rules