osnovnoy_syntacsis
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| osnovnoy_syntacsis [2021/02/18 20:51] – создано chifek | osnovnoy_syntacsis [2023/09/14 06:06] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Основной синтаксис ====== | ====== Основной синтаксис ====== | ||
| + | |||
| + | ====== // TODO докопировать https:// | ||
| + | |||
| ===== Определение имени пакета ===== | ===== Определение имени пакета ===== | ||
| Line 5: | Line 8: | ||
| Имя пакета указывается в начале исходного файла, так же как и в Java: | Имя пакета указывается в начале исходного файла, так же как и в Java: | ||
| + | < | ||
| package my.demo | package my.demo | ||
| Line 11: | Line 14: | ||
| // ... | // ... | ||
| + | </ | ||
| + | |||
| Но в отличие от Java, нет необходимости, | Но в отличие от Java, нет необходимости, | ||
| + | |||
| + | ===== Объявление функции ===== | ||
| + | |||
| + | |||
| + | Функция принимает два аргумента Int и возвращает Int: | ||
| + | < | ||
| + | fun sum(a: Int, b: Int): Int { | ||
| + | return a + b | ||
| + | } | ||
| + | </ | ||
| + | Функция с выражением в качестве тела и автоматически определенным типом возвращаемого значения: | ||
| + | |||
| + | '' | ||
| + | |||
| + | Функция, | ||
| + | < | ||
| + | fun printSum(a: Int, b: Int): Unit { | ||
| + | print(a + b) | ||
| + | } | ||
| + | </ | ||
| + | Тип возвращаемого значения Unit может быть опущен: | ||
| + | |||
| + | < | ||
| + | fun printSum(a: Int, b: Int) { | ||
| + | print(a + b) | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ===== Определение внутренних переменных ===== | ||
| + | |||
| + | Неизменяемая (только для чтения) внутренняя переменная: | ||
| + | < | ||
| + | val a: Int = 1 | ||
| + | val b = 1 // Тип `Int` выведен автоматически | ||
| + | val c: Int // Тип обязателен, | ||
| + | c = 1 // последующее присвоение | ||
| + | </ | ||
| + | |||
| + | Изменяемая переменная: | ||
| + | |||
| + | |||
| + | < | ||
| + | var x = 5 // Тип `Int` выведен автоматически | ||
| + | x += 1 | ||
| + | </ | ||
| + | |||
| + | Глобальные переменные: | ||
| + | < | ||
| + | val PI = 3.14 | ||
| + | var x = 0 | ||
| + | |||
| + | fun incrementX() { | ||
| + | x += 1 | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ===== Комментарии ===== | ||
| + | |||
| + | |||
| + | Также, как Java и JavaScript, Kotlin поддерживает однострочные комментарии. | ||
| + | < | ||
| + | // однострочный комментарий | ||
| + | |||
| + | /* Блочный комментарий | ||
| + | из нескольких строк. */ | ||
| + | |||
| + | </ | ||
| + | |||
| + | В отличие от Java, блочные комментарии могут быть вложенными. | ||
| + | |||
| + | ===== Использование строковых шаблонов ===== | ||
| + | |||
| + | |||
| + | Допустимо использование переменных внутри строк в формате $name или ${name}: | ||
| + | < | ||
| + | fun main(args: Array< | ||
| + | if (args.size == 0) return | ||
| + | |||
| + | print(" | ||
| + | } | ||
| + | </ | ||
| + | < | ||
| + | var a = 1 | ||
| + | // просто имя переменной в шаблоне: | ||
| + | val s1 = "a равно $a" | ||
| + | |||
| + | a = 2 | ||
| + | // произвольное выражение в шаблоне: | ||
| + | val s2 = " | ||
| + | |||
| + | /* | ||
| + | Результат работы программы: | ||
| + | a было равно 1, но теперь равно 2 | ||
| + | */ | ||
| + | </ | ||
osnovnoy_syntacsis.1613681489.txt.gz · Last modified: 2023/09/14 06:06 (external edit)