© S&S Media Group
Kotlin kompakt - Teil 2

Kotlin-Code verstehen: Variablen und Funktionen


Kotlin-Code verstehen

Selbst als erfahrener Java-Entwickler war es für mich anfangs nicht einfach, die vielen Kotlin-Beispiele und existierenden Kotlin-Code zu lesen und zu verstehen - insbesondere solcher, der gleich von mehreren der vielen Kotlin-Features gleichzeitig gebraucht machte.

Doch wenn man sich schwertut, selbst kürzere Code-Beispiele einer neuen Sprache zu verstehen, obwohl man zum Beispiel mit Java schon jahrelang professionell arbeitet, stellt das eine große Hürde und Motivations-Bremse dar, sich in die neue Syntax einzuarbeiten.

(Wer schon mal versucht hat, das Zehnfingersystem zu erlernen, obwohl es schon etliche Jahre auch mit nur vieren gut geklappt hat, weiß, was ich meine ...)

Um diese Hürde schnellstmöglich aus dem Weg zu räumen, möchte ich mit dir direkt "den Sprung ins kalte Wasser" wagen und im Folgenden ein Kotlin-Beispiel ausführlich durchgehen. Danach, so hoffe ich, hast du genug Rüstzeug, dich von Kotlin nicht (mehr länger) abschrecken zu lassen, sondern voll einzusteigen.

Obwohl es sich dabei um relativ simplen Kotlin-Code handelt, ist er selbst für Java-KennerInnen nicht unbedingt sofort durchschaubar, vor allem weil er gleich mehrere Kotlin-Sprachkonstrukte verwendet und kombiniert:

val strings = listOf("Hello", "World", "!") val lengths = strings.map { it.length } 

Doch gleich wirst du genau verstehen, was dieser Code macht und - davon bin ich überzeugt - begeistert sein, was Kotlin dir im Gegensatz zu Java alles erlaubt, ermöglicht und abnimmt.

Variablen deklarieren

Fangen wir mit der allerersten Zeile an. Diese ist eine Deklaration der Variablen strings, mit gleichzeitiger Initialisierung.

Sofort fällt das, in Java (noch) unbekannte, Schlüsselwort val auf. Auch fehlt "irgendwie" die Angabe des Typs der Variablen. Was hat es damit auf sich, wo Kotlin doch eine streng typisierte Sprache ist?

Um diesen Fragen auf die Spur zu kommen, betrachten wir zunächst ein ähnliches Beispiel im Vergleich zu Java:

Hier ist eine Deklaration der Variablen i vom Typ int in Java, die direkt mit dem Wert 42 initialisiert wird:

int i = 42; 

In Kotlin sieht dieselbe Variablen-Deklaration folgendermaßen aus:

var i : Int = 42 

Das wirkt gegenüber Java "umgedreht".

Variablen-Deklarationen in Kotlin beginnen nicht mit dem Typ der Variablen, sondern stets mit dem Keyword var oder val (der Unterschied zwischen diesen beiden wird gleich erläutert.)

Darauf folgt der Name der Variablen.

Um schließlich den Typ anzugeben, wird dieser gleich nach einem : notiert. (Das große 'I'{.inline} in Int ist übrigens kein Schreibfehler, sondern liegt daran, dass Kotlin keine Primitive kennt - doch dazu später mehr.)

Wenn man möchte, kann man, ganz wie in Java, die Variable dann auch gleich mit einer Zuweisung initialisieren, so wie im Beispiel auch.

var oder val?

Worin besteht nun der Unterschied darin, eine Variable mit var oder val zu deklarieren?

Im Grunde ist es derselbe wie der zwischen

int i = 42; 

und

final int i = 42; 

in Java.

Variablen, die mit var (variabel) deklariert werden, kann später ein anderer Wert zugewiesen werden - bei solchen mit val (value) ist das verboten.

Dabei gilt das gleiche wie auch in Java: Nur die Variable selbst ist gegebenenfalls unveränderlich. Ist das Objekt, auf das die Referenz verweist, veränderlich, kann dieses über entsprechende Methoden/Properties getan werden - egal ob val oder var.

Type Inference

Bei genauer Betrac...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang