Поиск…


Вступление

В этом разделе рассказывается об основах Котлина для начинающих.

замечания

  1. Файл Kotlin имеет расширение .kt.
  2. Все классы в Kotlin имеют общий суперкласс All, который является суперполе по умолчанию для класса без объявленных супертипов (аналогично Object in Java).
  3. Переменные могут быть объявлены как val (неизменяемый-присваивать один раз) или var (изменяемое значение может быть изменено)
  4. Точка с запятой не нужна в конце инструкции.
  5. Если функция не возвращает какое-либо полезное значение, его возвращаемым типом является Unit.It также является необязательным. 6. Условие равенства проверяется операцией ===. a === b оценивает значение true тогда и только тогда, когда a и b указывают на один и тот же объект.

Основные примеры

Декларация типа декларации единицы является необязательной для функций. Следующие коды эквивалентны.

    fun printHello(name: String?): Unit {
        if (name != null)
            println("Hello ${name}")
    }
    
    fun printHello(name: String?) {
        ...
    }

Функции 2.Single-Expression: когда функция возвращает одно выражение, фигурные скобки могут быть опущены, а тело указано после символа =

  fun double(x: Int): Int = x * 2

Явное объявление типа возврата является необязательным, если это может быть выведено компилятором

  fun double(x: Int) = x * 2

Интерполяция 3.String: использование строковых значений легко.

In java:
    int num=10
    String s  = "i =" + i;

In Kotlin
    val num = 10
    val s = "i = $num"

4. В Kotlin система типов различает ссылки, которые могут содержать нуль (нулевые ссылки) и те, которые не могут (непустые ссылки). Например, регулярная переменная типа String не может иметь значение null:

var a: String = "abc"
a = null // compilation error

Чтобы разрешить nulls, мы можем объявить переменную как строку с нулевым значением, записанную String ?:

var b: String? = "abc"
b = null // ok

5. В Kotlin, == фактически проверяет равенство значений. В соответствии с соглашением выражение типа a == b переводится на

   a?.equals(b) ?: (b === null)


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow