Suche…


Einführung

Dieses Thema behandelt die Grundlagen von Kotlin für Anfänger.

Bemerkungen

  1. Die Kotlin-Datei hat die Erweiterung .kt.
  2. Alle Klassen in Kotlin haben eine gemeinsame Oberklasse Any, das ist ein Standard-Super für eine Klasse ohne Supertypen (ähnlich wie Object in Java).
  3. Variablen können als val (unveränderlich, einmalig zuweisen) oder var (variabler Wert können geändert werden).
  4. Am Ende der Anweisung wird kein Semikolon benötigt.
  5. Wenn eine Funktion keinen nützlichen Wert zurückgibt, lautet der Rückgabetyp Unit.It ist ebenfalls optional. 6.Referenzielle Gleichheit wird durch die Operation === geprüft. a === b wird dann als wahr ausgewertet, wenn a und b auf dasselbe Objekt zeigen.

Grundlegende Beispiele

1.Die Deklaration der Rückgabetypen ist für Funktionen optional. Die folgenden Codes sind gleichwertig.

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

2.Einzelausdruck-Funktionen: Wenn eine Funktion einen einzelnen Ausdruck zurückgibt, können die geschweiften Klammern weggelassen werden und der Körper wird nach = Symbol angegeben

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

Das explizite Deklarieren des Rückgabetyps ist optional, wenn dies vom Compiler abgeleitet werden kann

  fun double(x: Int) = x * 2

3. String-Interpolation: Die Verwendung von String-Werten ist einfach.

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

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

4. In Kotlin unterscheidet das Typsystem zwischen Referenzen, die null (nullfähige Referenzen) enthalten können, und solchen, die dies nicht können (nicht-null-Referenzen). Beispielsweise kann eine reguläre Variable vom Typ String nicht null enthalten:

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

Um Nullen zuzulassen, können wir eine Variable als nullbaren String, geschriebener String, deklarieren:

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

5.In Kotlin prüft == tatsächlich die Gleichheit der Werte. Nach der Konvention wird ein Ausdruck wie a == b in übersetzt

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


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow