You can assign an `if/else` expression to a variable.
This commit is contained in:
parent
f371e4cd95
commit
1993f43418
|
@ -5,7 +5,7 @@ A sequence of instructions is executed from top to bottom, and that's it.
|
||||||
|
|
||||||
It's time to introduce some **branching**.
|
It's time to introduce some **branching**.
|
||||||
|
|
||||||
## `if` expressions
|
## `if` clauses
|
||||||
|
|
||||||
The `if` keyword is used to execute a block of code only if a condition is true.
|
The `if` keyword is used to execute a block of code only if a condition is true.
|
||||||
|
|
||||||
|
@ -20,6 +20,8 @@ if number < 5 {
|
||||||
|
|
||||||
This program will print `number is smaller than 5` because the condition `number < 5` is true.
|
This program will print `number is smaller than 5` because the condition `number < 5` is true.
|
||||||
|
|
||||||
|
### `else` clauses
|
||||||
|
|
||||||
Like most programming languages, Rust supports an optional `else` branch to execute a block of code when the condition in an
|
Like most programming languages, Rust supports an optional `else` branch to execute a block of code when the condition in an
|
||||||
`if` expression is false.
|
`if` expression is false.
|
||||||
For example:
|
For example:
|
||||||
|
@ -80,6 +82,25 @@ Here are the comparison operators available in Rust when working with integers:
|
||||||
- `<=`: less than or equal to
|
- `<=`: less than or equal to
|
||||||
- `>=`: greater than or equal to
|
- `>=`: greater than or equal to
|
||||||
|
|
||||||
|
## `if/else` is an expression
|
||||||
|
|
||||||
|
In Rust, `if` expressions are **expressions**, not statements: they return a value.
|
||||||
|
That value can be assigned to a variable or used in other expressions. For example:
|
||||||
|
|
||||||
|
```rust
|
||||||
|
let number = 3;
|
||||||
|
let message = if number < 5 {
|
||||||
|
"smaller than 5"
|
||||||
|
} else {
|
||||||
|
"greater than or equal to 5"
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
In the example above, each branch of the `if` evaluates to a string literal,
|
||||||
|
which is then assigned to the `message` variable.
|
||||||
|
The only requirement is that both `if` branches return the same type.
|
||||||
|
|
||||||
|
|
||||||
## References
|
## References
|
||||||
|
|
||||||
- The exercise for this section is located in `exercises/02_basic_calculator/03_if_else`
|
- The exercise for this section is located in `exercises/02_basic_calculator/03_if_else`
|
Loading…
Reference in New Issue