Swiftorial Logo
Home
Swift Lessons
Matchups
CodeSnaps
Tutorials
Career
Resources

Functions in Rust

Introduction to Functions

In Rust, functions are a way to package code into reusable blocks. They allow you to define a set of instructions that can be executed whenever the function is called. Functions help to make your code more organized and easier to understand.

Defining a Function

To define a function in Rust, you use the fn keyword followed by the function name and parentheses. Here’s a simple example:

fn greet() {
  println!("Hello, world!");
}

This function named greet prints "Hello, world!" to the console when called.

Calling a Function

After defining a function, you can call it by its name followed by parentheses:

greet();

When you call the function greet, it will execute the code inside it.

Functions with Parameters

Functions can also take parameters. Parameters allow you to pass data into the function. Here’s an example:

fn greet_user(name: &str) {
  println!("Hello, {}!", name);
}

This function greet_user takes a string parameter name and uses it in the greeting.

Calling Functions with Parameters

To call a function with parameters, pass the appropriate arguments:

greet_user("Alice");

This will output: Hello, Alice!

Returning Values from Functions

Functions can also return values. To specify the return type, you use an arrow -> followed by the type. Here’s an example:

fn add(a: i32, b: i32) -> i32 {
  a + b
}

This add function takes two integers and returns their sum.

Using the Return Value

To use the return value of a function, you can assign it to a variable:

let sum = add(5, 3);
println!("Sum: {}", sum);

This will output: Sum: 8

Function Overloading

Rust does not support function overloading, meaning you cannot have multiple functions with the same name but different parameters. However, you can achieve similar behavior using traits or enums.

Conclusion

Functions in Rust are a fundamental building block that allows you to write modular, reusable code. Understanding how to define, call, and manage functions is essential for effective programming in Rust.