Scala Language
Wenn Ausdrücke
Suche…
Grundlegende If-Ausdrücke
In Scala (im Gegensatz zu Java und den meisten anderen Sprachen) ist if
ein Ausdruck anstelle einer Anweisung . Unabhängig davon ist die Syntax identisch:
if(x < 1984) {
println("Good times")
} else if(x == 1984) {
println("The Orwellian Future begins")
} else {
println("Poor guy...")
}
if
ein Ausdruck sein möchten, können Sie das Ergebnis der Auswertung des Ausdrucks einer Variablen zuweisen:
val result = if(x > 0) "Greater than 0" else "Less than or equals 0"
\\ result: String = Greater than 0
Oben sehen wir, dass der if
Ausdruck ausgewertet wird und das result
auf diesen Ergebniswert gesetzt wird.
Der Rückgabetyp eines if
Ausdrucks ist der übergeordnete Typ aller Logikzweige. Dies bedeutet, dass der Rückgabetyp für dieses Beispiel ein String
. Da nicht alle if
Ausdrücke einen Wert zurückgeben (z. B. eine if
Anweisung, die keine else
Verzweigungslogik hat), ist der Rückgabetyp möglicherweise Any
:
val result = if(x > 0) "Greater than 0"
// result: Any = Greater than 0
Wenn kein Wert zurückgegeben werden kann (wenn beispielsweise nur Nebeneffekte wie println
in den logischen Zweigen verwendet werden), println
der Rückgabetyp Unit
:
val result = if(x > 0) println("Greater than 0")
// result: Unit = ()
if
Ausdrücke in Scala sind ähnlich wie der ternäre Operator in Java . Aufgrund dieser Ähnlichkeit gibt es in Scala keinen solchen Operator: Er wäre überflüssig.
Geschweifte Klammern können in einem
if
Ausdruck weggelassenif
, wenn der Inhalt eine einzelne Zeile ist.