Rust Function: Check Result Success or Error
Rust Pattern Maching: Exercise-3 with Solution
Write a Rust function that takes a Result
Sample Solution:
Rust Code:
// Define a function that takes a Result<i32, &str> and returns a static string slice
fn check_result(result: Result<i32, &str>) -> &'static str {
// Pattern match on the Result
match result {
// If it's Ok(i32), return "Success"
Ok(_) => "Success",
// If it's Err(&str), return "Error"
Err(_) => "Error",
}
}
fn main() {
// Example usage:
let success_result: Result<i32, &str> = Ok(42);
let error_result: Result<i32, &str> = Err("An error occurred");
println!("Success result: {}", check_result(success_result)); // Output: Success
println!("Error result: {}", check_result(error_result)); // Output: Error
}
Output:
Success result: Success Error result: Error
Explanation:
The above Rust code defines a function "check_result()" that takes a Result<i32, &str> as input and returns a &'static str. Inside the function, there's a pattern matching with 'match' on the 'Result'. If the 'Result' is Ok(_), indicating a successful computation with an integer result, it returns "Success". If the 'Result' is Err(_), indicating an error with an error message as a string slice, it returns "Error".
In the "main()' function, two example 'Result' instances are created: one representing a successful result (Ok(42)) and the other representing an error (Err("An error occurred")). The "check_result()" function is then called with these instances, and the results are printed out.
Rust Code Editor:
Previous: Rust Function: Check vowel or consonant.
Next: Rust Function: Check Option Some or None.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://www.w3resource.com/rust/functional-programming/rust-pattern-matching-exercise-3.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics