Sök…


Anmärkningar

Kotlin är ett statiskt typiskt objektorienterat programmeringsspråk utvecklat av JetBrains främst inriktat på JVM. Kotlin är utvecklad med målen att vara snabb att kompilera, bakåtkompatibel, mycket typ säker och 100% driftskompatibel med Java. Kotlin är också utvecklad med målet att tillhandahålla många av de funktioner som Java-utvecklare önskar. Kotlins standardkompilerare gör det möjligt att kompilera både i Java-bytekod för JVM och till JavaScript.

Sammansätter Kotlin

Kotlin har ett standard-IDE-plugin för Eclipse och IntelliJ. Kotlin kan också kompileras med Maven , med Ant och med Gradle eller genom kommandoraden .

Det är värt att notera i $ kotlinc Main.kt kommer att mata ut en Java-klassfil, i detta fall MainKt.class (Observera att Kt bifogas MainKt.class ). Men om man skulle köra $ java MainKt med $ java MainKt java att kasta följande undantag:

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

För att köra den resulterande klassfilen med Java måste man inkludera Kotlin-driftstidsburkfilen till den aktuella klassvägen.

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

versioner

Version Utgivningsdatum
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

Hej världen

Alla Kotlin program startar vid main Här är ett exempel på ett enkelt Kotlin "Hello World" -program:

package my.program

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

Placera ovanstående kod i en fil med namnet Main.kt (detta filnamn är helt godtyckligt)

Vid inriktning på JVM kommer funktionen att kompileras som en statisk metod i en klass med ett namn härledt från filnamnet. I exemplet ovan skulle huvudklassen att köra vara my.program.MainKt .

Om du vill ändra namnet på klassen som innehåller toppnivåfunktioner för en viss fil ska du placera följande kommentar längst upp i filen ovanför paketet:

@file:JvmName("MyApp")

I det här exemplet skulle nu den huvudsakliga klassen vara my.program.MyApp .

Se även:

Hej världen använder en objektdeklaration

Du kan alternativt använda en objektdeklaration som innehåller huvudfunktionen för ett Kotlin-program.

package my.program

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

Klassnamnet som du kommer att köra är namnet på ditt objekt, i det här fallet är my.program.App .

Fördelen med den här metoden jämfört med en toppnivåfunktion är att klassenamnet som ska köras är mer självklart, och alla andra funktioner du lägger till skopas in i klassen App . Du har då också en singleton-instans av App att lagra tillstånd och göra annat arbete.

Se även:

Hej världen använder ett följeslagningsobjekt

I likhet med hjälp av ett objekt deklarationen, kan du definiera main en Kotlin program med en Companion Object av en klass.

package my.program

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

Klassnamnet som du kommer att köra är namnet på din klass, i detta fall är my.program.App .

Fördelen med den här metoden jämfört med en toppnivåfunktion är att klassenamnet som ska köras är mer självklart, och alla andra funktioner du lägger till skopas in i klassen App . Detta liknar exemplet med Object Declaration , annat än att du har kontroll över att initiera några klasser för att göra ytterligare arbete.

En liten variation som gör att klassen gör själva "hej":

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

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

Se även:

Huvudmetoder med varargs

Alla dessa huvudmetodestilar kan också användas med vargar :

package my.program

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

Kompilera och köra Kotlin-kod i kommandoraden

Som java tillhandahåller två olika kommandon för att kompilera och köra Java-kod. Samma som Kotlin ger dig också olika kommandon.

javac att sammanställa java-filer. java att köra java-filer.

Samma som kotlinc att sammanställa kotlin-filer kotlin att köra kotlin-filer.

Läser inmatning från kommandoraden

Argumenten som skickas från konsolen kan tas emot i Kotlin-programmet och det kan användas som input. Du kan skicka N (1 2 3 och så vidare) antal argument från kommandotolken.

Ett enkelt exempel på ett kommandoradsargument i Kotlin.

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;

}

Här anger du två nummer från kommandoraden för att hitta det maximala antalet. Utgång:

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

The value of b is 89
Max number is: 89

För !! Användare Kontrollera Null Safety .

Obs: Ovan exemplet kompilera och kör på Intellij.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow