fn main(){
let mut arr:[i32; 5] = [2,4,6,8,10];
multiply(arr);
println!("The array is : {:?}", multiply(arr));
}
fn multiply (mut arr: [i32 ; 5]) -> [i32 ; 5]{
arr[2] = 90;
for mut i in 0..5 {
arr[i] = arr[i] * arr[2];
}
return arr;
}
Rust Functions
Returning Arrays
Arrays as Arguments
fn main(){
let mut array: [i32 ; 5] = [1,2,3,4,6];
print\_arrays(array);
println!("The elements: {array:?}");
}
fn print\_arrays(mut array:[i32; 5]) {
array[0] = 89;
array[1] = 90;
array[2] = 91;
array[3] = 92;
array[4] = 93;
println!("The elements: {array:?}");
}
Returns
fn main(){
let (mut radius, mut pi) = (3.0, 3.14);
let(area, _perimeter) = calculate (
&mut radius,
&mut pi
);
println!("The area and the perimeter of the circle are: {area} & {\_perimeter}");
}
fn calculate(radius : &mut f64, pi: &mut f64) -> (f64, f64){
let perimeter = 2.0 * *pi * *radius;
let area = *pi * *radius * *radius;
return (area, perimeter);
}
Pass by Reference
fn main(){
let mut by\_ref = 3; // => 3
power\_of\_three(&mut by_ref);
println!("{by\_ref}"); // => 9
}
fn power\_of\_three(by_ref: &mut i32){
// de-referencing is important
*by_ref = *by_ref * *by_ref;
println!("{by\_ref}"); // => 9
}
Pass by Value
fn main()
{
let x:u32 = 10;
let y:u32 = 20;
// => 200
println!("Calc: {}", cal\_rect(x, y));
}
fn cal\_rect(x:u32, y:u32) -> u32
{
x * y
}
Basic function
fn print\_message(){
println!("Hello, QuickRef.ME!");
}
fn main(){
//Invoking a function in Rust.
print\_message();
}
Comments