Scala - Variablen
Variablen sind nichts anderes als reservierte Speicherplätze zum Speichern von Werten. Dies bedeutet, dass Sie beim Erstellen einer Variablen Speicherplatz im Speicher reservieren.
Basierend auf dem Datentyp einer Variablen weist der Compiler Speicher zu und entscheidet, was im reservierten Speicher gespeichert werden kann. Durch Zuweisen verschiedener Datentypen zu Variablen können Sie daher Ganzzahlen, Dezimalstellen oder Zeichen in diesen Variablen speichern.
Variable Aussage
Scala hat eine andere Syntax zum Deklarieren von Variablen. Sie können als Wert definiert werden, dh als Konstante oder als Variable. Hier wird myVar mit dem Schlüsselwort var deklariert. Es ist eine Variable, die den Wert ändern kann, und dies wird aufgerufenmutable variable. Im Folgenden finden Sie die Syntax zum Definieren einer Variablen mithilfe vonvar Schlüsselwort -
Syntax
var myVar : String = "Foo"
Hier wird myVal mit dem Schlüsselwort val deklariert. Dies bedeutet, dass es sich um eine Variable handelt, die nicht geändert werden kann, und die aufgerufen wirdimmutable variable. Im Folgenden finden Sie die Syntax zum Definieren einer Variablen mit dem Schlüsselwort val:
Syntax
val myVal : String = "Foo"
Variable Datentypen
Der Typ einer Variablen wird nach dem Variablennamen und vor dem Gleichheitszeichen angegeben. Sie können jeden Typ von Scala-Variablen definieren, indem Sie den Datentyp wie folgt angeben:
Syntax
val or val VariableName : DataType = [Initial Value]
Wenn Sie einer Variablen keinen Anfangswert zuweisen, gilt dieser wie folgt:
Syntax
var myVar :Int;
val myVal :String;
Variable Typinferenz
Wenn Sie einer Variablen einen Anfangswert zuweisen, kann der Scala-Compiler den Typ der Variablen anhand des ihr zugewiesenen Werts ermitteln. Dies wird als Inferenz vom Variablentyp bezeichnet. Daher können Sie diese Variablendeklarationen folgendermaßen schreiben:
Syntax
var myVar = 10;
val myVal = "Hello, Scala!";
Hier ist myVar standardmäßig vom Typ Int und myVal wird zur Variablen vom Typ String.
Mehrere Aufgaben
Scala unterstützt mehrere Aufgaben. Wenn ein Codeblock oder eine Methode ein Tupel zurückgibt (Tuple- Enthält eine Sammlung von Objekten unterschiedlichen Typs.) Das Tupel kann einer Val-Variablen zugewiesen werden. [Note - Wir werden Tupel in den folgenden Kapiteln studieren.]
Syntax
val (myVar1: Int, myVar2: String) = Pair(40, "Foo")
Und die Typinferenz macht es richtig -
Syntax
val (myVar1, myVar2) = Pair(40, "Foo")
Beispielprogramm
Das folgende Beispielprogramm erläutert den Prozess der Variablendeklaration in Scala. Dieses Programm deklariert vier Variablen - zwei Variablen werden mit Typdeklaration definiert und die restlichen zwei sind ohne Typdeklaration.
Beispiel
object Demo {
def main(args: Array[String]) {
var myVar :Int = 10;
val myVal :String = "Hello Scala with datatype declaration.";
var myVar1 = 20;
val myVal1 = "Hello Scala new without datatype declaration.";
println(myVar); println(myVal); println(myVar1);
println(myVal1);
}
}
Speichern Sie das obige Programm in Demo.scala. Die folgenden Befehle werden zum Kompilieren und Ausführen dieses Programms verwendet.
Befehl
\>scalac Demo.scala
\>scala Demo
Ausgabe
10
Hello Scala with datatype declaration.
20
Hello Scala without datatype declaration.
Variabler Umfang
Variablen in Scala können je nach Verwendungsort drei verschiedene Bereiche haben. Sie können als Felder, als Methodenparameter und als lokale Variablen existieren. Nachfolgend finden Sie die Details zu den einzelnen Bereichstypen.
Felder
Felder sind Variablen, die zu einem Objekt gehören. Auf die Felder kann von jeder Methode im Objekt aus zugegriffen werden. Auf Felder kann auch außerhalb des Objekts zugegriffen werden, je nachdem, mit welchen Zugriffsmodifikatoren das Feld deklariert ist. Objektfelder können sowohl veränderbare als auch unveränderliche Typen sein und mit beiden definiert werdenvar oder val.
Methodenparameter
Methodenparameter sind Variablen, mit denen der Wert innerhalb einer Methode übergeben wird, wenn die Methode aufgerufen wird. Auf Methodenparameter kann nur innerhalb der Methode zugegriffen werden. Auf die übergebenen Objekte kann jedoch auch von außen zugegriffen werden, wenn Sie von außerhalb der Methode auf das Objekt verweisen. Methodenparameter sind immer unveränderlich, die durch definiert sindval Stichwort.
Lokale Variablen
Lokale Variablen sind Variablen, die innerhalb einer Methode deklariert sind. Auf lokale Variablen kann nur innerhalb der Methode zugegriffen werden. Die von Ihnen erstellten Objekte können jedoch der Methode entkommen, wenn Sie sie von der Methode zurückgeben. Lokale Variablen können sowohl veränderbare als auch unveränderliche Typen sein und mit beiden definiert werdenvar oder val.