Using If Statements in Rust

If statements are a fundamental control flow construct in Rust, allowing you to execute code conditionally based on whether a specified condition evaluates to true or false. The syntax for an if statement in Rust is straightforward and similar to other programming languages.

1. Basic Syntax of If Statements

The basic syntax of an if statement in Rust is as follows:


if condition {
// Code to execute if the condition is true
} else {
// Code to execute if the condition is false (optional)
}

Here, condition is an expression that evaluates to a boolean value (true or false).

2. Example of an If Statement

Let's look at a simple example that checks if a number is positive, negative, or zero:


fn main() {
let number = 5;

if number > 0 {
println!("The number is positive.");
} else if number < 0 {
println!("The number is negative.");
} else {
println!("The number is zero.");
}
}

Explanation of the Example

  • We declare a variable number and assign it a value of 5.
  • The first if statement checks if number is greater than zero. If true, it prints "The number is positive."
  • If the first condition is false, the else if statement checks if number is less than zero. If true, it prints "The number is negative."
  • If both conditions are false, the else block executes, printing "The number is zero."

3. Using If Statements as Expressions

In Rust, if statements can also be used as expressions, meaning they can return a value. This allows you to assign the result of an if statement to a variable.

Example of If as an Expression


fn main() {
let number = -3;
let result = if number > 0 {
"Positive"
} else if number < 0 {
"Negative"
} else {
"Zero"
};

println!("The number is: {}", result); // Output: The number is: Negative
}

Explanation of the Example

  • In this example, we declare a variable result and assign it the value returned by the if statement.
  • The if statement checks the value of number and returns a string based on the condition.
  • Finally, we print the result to the console.

4. Nested If Statements

You can also nest if statements within each other to create more complex conditions.

Example of Nested If Statements


fn main() {
let number = 10;

if number >= 0 {
if number == 0 {
println!("The number is zero.");
} else {
println!("The number is positive.");
}
} else {
println!("The number is negative.");
}
}

Explanation of the Example

  • In this example, we first check if number is non-negative.
  • If it is, we then check if it is zero using a nested if statement.
  • If the number is negative, we print "The number is negative."

5. Conclusion

If statements in Rust provide a powerful way to control the flow of your program based on conditions. They can be used in various ways, including as expressions and in nested forms, allowing for flexible and readable code. Understanding how to use if statements effectively is essential for writing robust Rust applications.