MOCKSTACKS
EN

# RUST Function parameters

Parameters are a mechanism to pass values to functions. Parameters form a part of the functionâ€™s signature. The parameter values are passed to the function during its invocation. Unless explicitly specified, the number of values passed to a function must match the number of parameters defined.

There are 2 ways of passing parameters:
• By value
• By Reference

## RUST Function parameter By Value

When passing value by value to a method original value wont change and the value will be only used inside that method. if any modification happen to the value inside the method it wont carry that value to where it was called from.

### Example of passing parameter by value in function

``````fn multiply_Number_By_Zero(mut what_Number: i32) {
what_Number = what_Number*0;
println!("what_Number value is :{}",what_Number);
}

fn main(){
let number:i32 = 10;
multiply_Number_By_Zero(number);
println!("The value of number after executing a function is:{}",number);
}
``````

#### Output for above code

what_Number value is : 0
The value of number after executing a function is: 10

## RUST Function parameter By Reference

When passing value by reference if any modification happen inside the function, that change will also be carried over to where it was called from.

### Example of passing parameter by Reference in function

``````fn multiply_Number_By_Zero(what_Number:&mut i32) {
*what_Number = 0;
}

fn main(){
let number:i32 = 10;
multiply_Number_By_Zero(&number);
println!("The value of number after executing a function is:{}",number);
}
``````

#### Output for above code

The value of number after executing a function is: 10

## Conclusion

In this page (written and validated by ) you learned about Rust Function passing parameter . What's Next? If you are interested in completing Rust tutorial, your next topic will be learning about: Rust Recursive Function.

Incorrect info or code snippet? We take very seriously the accuracy of the information provided on our website. We also make sure to test all snippets and examples provided for each section. If you find any incorrect information, please send us an email about the issue: mockstacks@gmail.com.