If Expressions
Part of the Fundamentals section of Coddy's Rust journey — lesson 24 of 75.
If expressions allow us to execute code with conditions.
For example, let's look at the following code:
let mut age: i32 = 20;
let mut status = "Child";
if age > 18 {
status = "Adult";
}
age += 1;The above code checks whether the age variable is bigger than 18. If it is, it will set status to hold "Adult" string.
In the end, the code will increment age by 1 whether the age is bigger than 18 or not.
To use an if statement in Rust, we need to use curly braces {} to define the code block, and everything inside the if statement should be placed between these braces:
if condition {
code;
code;
code;
}If the condition is true, we will enter the code block inside the if (The indented code)
Challenge
BeginnerYou are given a code.
The variables a and b have missing values, fill them so that the code inside the if statement will be executed and c will equal 3.
Bonus: try to find more than one solution!
Cheat sheet
If expressions allow us to execute code with conditions using the if statement:
if condition {
// code to execute if condition is true
}Example:
let mut age: i32 = 20;
let mut status = "Child";
if age > 18 {
status = "Adult";
}The code block inside the if statement executes only when the condition evaluates to true. Use curly braces {} to define the code block.
Try it yourself
fn main() {
let a: i32 = ?;
let b: i32 = ?;
// Don't change below this line
let mut c: i32 = 0;
if a >= b && !(b < 10) {
c = 2;
}
c += 1;
println!("c = {}", c);
}This lesson includes a short quiz. Start the lesson to answer it and track your progress.
All lessons in Fundamentals
4Operators Part 1
Arithmetic OperatorsModulo OperatorArithmetic ShortcutsComparison OperatorsString Comparison5Operators Part 2
Logical Operators Part 1Logical Operators Part 2Recap - Simple LogicLogical Operators Part 33Variables Part 2
Type DeclarationNaming ConventionsType InferenceRecap - Initialize VariablesType Casting9Loops
For Over SeriesWhile LoopBreakContinueNested LoopLoop LabelsInfinite LoopRecap - Dynamic Input