User Tools

Site Tools


osnovnoy_syntacsis

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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