Scala Language
Si des expressions
Recherche…
Expressions de base si
Dans Scala (contrairement à Java et à la plupart des autres langages), if
est une expression au lieu d'une déclaration . Indépendamment, la syntaxe est identique:
if(x < 1984) {
println("Good times")
} else if(x == 1984) {
println("The Orwellian Future begins")
} else {
println("Poor guy...")
}
L'implication de if
être une expression est que vous pouvez affecter le résultat de l'évaluation de l'expression à une variable:
val result = if(x > 0) "Greater than 0" else "Less than or equals 0"
\\ result: String = Greater than 0
Nous voyons ci-dessus que l'expression if
est évaluée et que le result
est défini sur cette valeur.
Le type de retour d'une if
expression est le super - type de toutes les branches logiques. Cela signifie que pour cet exemple, le type de retour est une String
. Étant donné que tous if
les expressions renvoient une valeur ( par exemple , comme if
la déclaration qui n'a pas d' else
logique de branche), il est possible que le type de retour est Any
:
val result = if(x > 0) "Greater than 0"
// result: Any = Greater than 0
Si aucune valeur ne peut être retournée (comme si seuls les effets secondaires comme println
sont utilisés dans les branches logiques), le type de retour sera Unit
:
val result = if(x > 0) println("Greater than 0")
// result: Unit = ()
if
expressions dans Scala sont similaires à celles de l' opérateur ternaire dans les fonctions Java . En raison de cette similitude, il n’ya pas d’opérateur de ce type à Scala: il serait redondant.
Les accolades peuvent être omis dans une
if
expression si le contenu est une seule ligne.