Function
- Argument type is always required
- Return type is required if value is returned
- If no value is retured, return type is unit
Syntax:-
fn function_name(argument: argumentType) -> returnType {
//body
}
Example:-
fn change_to_upper_case(input: String) -> String {
let mut output = input.to_uppercase();
output.push('!');
output // mark missing semi-colon which tell the compiler to return this
}
let output = change_to_upper_case("Hello world");
Some common function, there syntax and example
println!
:- Description: Macro for printing formatted text to the console.
- Syntax:
println!("format string", arg1, arg2, ...);
- Example:
let name = "Alice"; let age = 25; println!("Hello, {}! You are {} years old.", name, age);
String::from
:- Description: Creates a new heap-allocated
String
from a string literal or anotherString
. - Syntax:
let s = String::from("string literal");
- Example:
let s = String::from("Hello");
- Description: Creates a new heap-allocated
vec!
:- Description: Macro for creating a new
Vec
(vector) with initial values. - Syntax:
let v = vec![val1, val2, ...];
- Example:
let v = vec![1, 2, 3];
- Description: Macro for creating a new
Option::Some
andOption::None
:- Description: Represents the presence or absence of a value.
- Syntax:
let x: Option<Type> = Some(value); let y: Option<Type> = None;
- Example:
let x: Option<i32> = Some(5); let y: Option<i32> = None;
Result::Ok
andResult::Err
:- Description: Represents the success or failure of a computation, often used for error handling.
- Syntax:
let result: Result<OkType, ErrType> = Ok(value); let result: Result<OkType, ErrType> = Err(error);
- Example:
let result: Result<i32, String> = Ok(42); let error: Result<i32, String> = Err("Something went wrong".to_string());
match
:- Description: Control flow construct for pattern matching and executing code based on matched patterns.
- Syntax:
match variable { pattern1 => { // code to execute when pattern1 matches } pattern2 => { // code to execute when pattern2 matches } // ... }
- Example:
let x: Option<i32> = Some(5); match x { Some(value) => { println!("Got a value: {}", value); } None => { println!("No value"); } }