Variablen in Scala, val oder var

Es gibt 2 Konzepte zum Anlagen von Variablen in Scala. Diese heißen val und var. In diesem Artikel will ich versuchen den Unterschied zwischen beiden darzustellen und wann es sinnvoll ist welches Schlüsselwort zu verwenden.

Allgemeines zu Variablen

Variablen dienen zum vorübergehenden speichern von Werten. Diese können dann später im Programmablauf weiter verwendet werden. In der Console (Powershell) können Variablen angelegt werden indem man einfach einen Wert eingibt oder diesen explizit zuweißt.

Variablen ohne Deklaration

Der Scala-Interpreter legt automatisch eine Variable an wenn man einen Wert eingibt. Der Name der Variable ist resX, wobei X eine Zahl ist welche hochgezählt wird, beginnend bei 0.

Beispiel

 

Die Console zeigt uns den Variablennamen (res0), dessen Typ (String) und den Wert (Hallo Welt).

Wenn wir versuchen wollen die jetzt erzeugte Variable res0 mit einem neuen Wert zu belegen, meldet uns der Compiler eine Fehlermeldung. Das gleiche „Problem“ finden wir auch wenn wir Variablen als val deklarieren.

Variablen mit Deklaration

Um sich nicht darauf zu verlassen welchen Namen der Compiler für uns wählt, können wir selber Variablennamen vergeben. Dazu Schreiben wir:

Wir haben nun 2 Variablen angelegt mit dem Namen helloVal bzw. helloVar. Das Schlüsselwort val bzw. var zeigt an das es sich um eine Variablendeklaration handelt. Das Gleichheitszeichen weist der Variable einen Wert zu.

Schlüsselwort val

Das Schlüsselwort val zeigt an das es sich um eine Konstante handelt. Ihr kann nur einmal ein Wert zugewiesen werden.

Der Versuch der Variablen helloVal einen anderen Wert zuzuweisen bekommen wir mit einer Fehlermeldung quittiert:

 

Schlüsselwort var

Das zweite Schlüsselwort hier, var, erlaubt es eine Variable anzulegen welche verändert werden kann. Der Compiler scheint zunächst den „gleichen“ Output zu geben wie bei einer Variablen mit val.

Unseren Versuch der Variablen einen neuen Wert zuzuweisen wird anstandslos akzeptiert:

Zusammenfassung von Variablen in Scala

In Scala kann man Variablen deklarieren und ihnen einen Wert zuweisen. Wenn man den Wert ohne einen Variablennamen schreibt vergibt der Compiler selber einen Namen.

Wenn wir einen eigenen Namen verwenden möchten müssen wir uns entscheiden ob die Variable verändert werden darf oder nicht. Nicht veränderliche Variablen (Konstanten) werden mit dem Schlüsselwort val deklariert. Andere, wiederverwendbare Variablen mit dem Schlüsselwort var.

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.