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 weggelassen if , wenn der Inhalt eine einzelne Zeile ist.



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