If statements
"If" statements specify the conditional execution of two branches according to the value of a boolean expression. If the expression evaluates to true, the "if" branch is executed, otherwise, if present, the "else" branch is executed.
IfStmt = "if" [ SimpleStmt ";" ] Expression Block [ "else" ( IfStmt | Block ) ] .
if x > max {
x = max
}
The expression may be preceded by a simple statement, which executes before the expression is evaluated.
if x := f(); x < y {
return x
} else if x > z {
return z
} else {
return y
}