Поиск…


замечания

Kotlin - это статически типизированный объектно-ориентированный язык программирования, разработанный JetBrains, ориентированный прежде всего на JVM. Kotlin разработан с целями быстрого компиляции, обратной совместимости, безопасного типа и 100% совместимости с Java. Kotlin также разработан с целью предоставления многих функций, которые хотят разработчики Java. Стандартный компилятор Kotlin позволяет скомпилировать его как в байт-код Java для JVM, так и в JavaScript.

Компиляция Котлина

У Kotlin есть стандартный плагин IDE для Eclipse и IntelliJ. Kotlin также может быть скомпилирован с использованием Maven , используя Ant , и используя Gradle или через командную строку .

Стоит отметить, что в $ kotlinc Main.kt выведет файл класса java, в данном случае MainKt.class (обратите внимание, что Kt добавлено к имени класса). Однако, если кто-то должен был запускать файл класса с помощью $ java MainKt java выдаст следующее исключение:

Exception in thread "main" java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics
    at MainKt.main(Main.kt)
Caused by: java.lang.ClassNotFoundException: kotlin.jvm.internal.Intrinsics
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 1 more

Чтобы запустить результирующий файл класса с помощью Java, необходимо включить файл jar-файла времени выполнения Kotlin в текущий путь класса.

java -cp .:/path/to/kotlin/runtime/jar/kotlin-runtime.jar MainKt

Версии

Версия Дата выхода
1.0.0 2016-02-15
1.0.1 2016-03-16
1.0.2 2016-05-13
1.0.3 2016-06-30
1.0.4 2016-09-22
1.0.5 2016-11-08
1.0.6 2016-12-27
1.1.0 2017-03-01
1.1.1 2017-03-14
1.1.2 2017-04-25
1.1.3 2017-06-23

Привет, мир

Все программы Kotlin начинаются с main функции. Вот пример простой программы Kotlin «Hello World»:

package my.program

fun main(args: Array<String>) {
    println("Hello, world!")
}

Поместите вышеуказанный код в файл с именем Main.kt (это имя файла полностью произвольно)

При ориентации на JVM функция будет скомпилирована как статический метод в классе с именем, полученным из имени файла. В приведенном выше примере основным классом для запуска будет my.program.MainKt .

Чтобы изменить имя класса, содержащего функции верхнего уровня для определенного файла, поместите следующую аннотацию в верхней части файла над оператором пакета:

@file:JvmName("MyApp")

В этом примере основной класс для запуска теперь будет my.program.MyApp .

Смотрите также:

Привет, мир, используя декларацию объекта

Вы также можете использовать декларацию объекта, которая содержит основную функцию для программы Kotlin.

package my.program

object App {
    @JvmStatic fun main(args: Array<String>) {
        println("Hello World")
    }
}

Имя класса, которое вы запустите, - это имя вашего объекта, в этом случае my.program.App .

Преимущество этого метода над функцией верхнего уровня заключается в том, что имя класса для запуска более самоочевидно, а любые другие функции, которые вы добавляете, попадают в класс App . У вас также есть экземпляр Singleton App для хранения состояния и выполнения другой работы.

Смотрите также:

Hello World, используя объект Companion

Подобно использованию Object Object, вы можете определить main функцию программы Kotlin, используя объект Companion класса.

package my.program

class App {
    companion object {
        @JvmStatic fun main(args: Array<String>) {
            println("Hello World")
        }
    }
}

Имя класса, которое вы запустите, - это имя вашего класса, в этом случае my.program.App .

Преимущество этого метода над функцией верхнего уровня заключается в том, что имя класса для запуска более самоочевидно, а любые другие функции, которые вы добавляете, попадают в класс App . Это похоже на пример Object Declaration , кроме того, что вы контролируете создание экземпляров любых классов для дальнейшей работы.

Небольшое отклонение, которое создает класс для действительного «привет»:

class App {
    companion object {
        @JvmStatic fun main(args: Array<String>) {
            App().run()
        }
    }

    fun run() {
        println("Hello World")
    }
}

Смотрите также:

Основные методы с использованием varargs

Все эти основные стили методов также могут использоваться с varargs :

package my.program

fun main(vararg args: String) {
    println("Hello, world!")
}

Компилировать и запускать код Котлина в командной строке

Поскольку java предоставляет две разные команды для компиляции и запуска кода Java. То же, что и Котлин, также предоставляет вам разные команды.

javac для компиляции java-файлов. java для запуска java-файлов.

То же, что kotlinc для компиляции kotlin файлов kotlin для запуска kotlin файлов.

Чтение ввода из командной строки

Аргументы, переданные с консоли, могут быть получены в программе Kotlin и могут использоваться как входные данные. Вы можете передать N (1 2 3 и так далее) количество аргументов из командной строки.

Простой пример аргумента командной строки в Котлине.

fun main(args: Array<String>) {

    println("Enter Two number")
    var (a, b) = readLine()!!.split(' ') // !! this operator use for NPE(NullPointerException).

    println("Max number is : ${maxNum(a.toInt(), b.toInt())}")
}



fun maxNum(a: Int, b: Int): Int {

    var max = if (a > b) {
        println("The value of a is $a");
        a
    } else {
        println("The value of b is $b")
        b
    }

    return max;

}

Здесь введите два числа из командной строки, чтобы найти максимальное число. Выход :

Enter Two number
71 89 // Enter two number from command line

The value of b is 89
Max number is: 89

За !! Оператор Пожалуйста, проверьте Null Safety .

Примечание: выше пример компиляции и запуска на Intellij.



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