Bird
Raised Fist0
Rustprogramming~5 mins

Function parameters in Rust - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What are function parameters in Rust?
Function parameters are variables listed in a function's definition. They receive values when the function is called, allowing the function to work with different inputs.
Click to reveal answer
beginner
How do you define a function with two parameters in Rust?
You write the function name followed by parentheses containing the parameters with their types, separated by commas. For example:
fn add(x: i32, y: i32) -> i32 { x + y }
Click to reveal answer
intermediate
Can Rust function parameters be mutable? How?
Yes, by default parameters are immutable. To make a parameter mutable, you add mut before its name in the function signature, like fn change(mut x: i32).
Click to reveal answer
beginner
What happens if you call a Rust function with the wrong number of arguments?
The Rust compiler will give an error because the number of arguments must match the number of parameters exactly.
Click to reveal answer
intermediate
Explain the difference between passing parameters by value and by reference in Rust functions.
Passing by value copies the data into the function parameter. Passing by reference uses & to give the function access to the original data without copying it, which can be more efficient.
Click to reveal answer
How do you declare a function parameter named 'age' of type i32 in Rust?
Ai32 age
Bvar age: i32
Clet age: i32
Dage: i32
What keyword makes a function parameter mutable in Rust?
Amut
Bvar
Clet
Dmutable
What happens if you call a Rust function with fewer arguments than parameters?
ACompiler error
BFunction uses default values
CFunction ignores missing parameters
DProgram crashes at runtime
How do you pass a reference to a function parameter in Rust?
AUse ref before the argument
BUse & before the argument
CUse mut before the argument
DUse * before the argument
Which of these is a valid Rust function parameter list?
A(x i32, y i32)
B(int x, int y)
C(x: i32, y: i32)
D(var x, var y)
Describe how to define and use function parameters in Rust.
Think about how you tell a function what information it needs to work.
You got /3 concepts.
    Explain the difference between passing parameters by value and by reference in Rust functions.
    Consider how the function gets the data: a copy or a pointer.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the purpose of function parameters in Rust?
      easy
      A. To send data into functions so they can use it
      B. To define the return type of a function
      C. To declare variables inside a function
      D. To create loops inside functions

      Solution

      1. Step 1: Understand what parameters do

        Parameters allow functions to receive input data when called.
      2. Step 2: Identify the correct purpose

        Sending data into functions makes them flexible and reusable.
      3. Final Answer:

        To send data into functions so they can use it -> Option A
      4. Quick Check:

        Function parameters = input data [OK]
      Hint: Parameters pass data into functions for flexibility [OK]
      Common Mistakes:
      • Confusing parameters with return types
      • Thinking parameters declare variables inside functions
      • Mixing parameters with control flow like loops
      2. Which of the following is the correct way to declare a function with one parameter named num of type i32 in Rust?
      easy
      A. fn example(num) -> i32 {}
      B. fn example(i32 num) {}
      C. fn example(num: i32) {}
      D. fn example(num: int) {}

      Solution

      1. Step 1: Recall Rust function parameter syntax

        Parameters are declared as name: type, e.g., num: i32.
      2. Step 2: Check each option

        fn example(num: i32) {} matches correct syntax. fn example(i32 num) {} reverses order. fn example(num) -> i32 {} misses type. fn example(num: int) {} uses wrong type name.
      3. Final Answer:

        fn example(num: i32) {} -> Option C
      4. Quick Check:

        Parameter syntax = name: type [OK]
      Hint: Use name: type for parameters in Rust functions [OK]
      Common Mistakes:
      • Swapping type and name order
      • Omitting the parameter type
      • Using incorrect type names like 'int'
      3. What will be the output of this Rust code?
      fn greet(name: &str) {
          println!("Hello, {}!", name);
      }
      
      fn main() {
          greet("Alice");
      }
      medium
      A. Hello, Alice!
      B. Hello, name!
      C. Hello, &str!
      D. Compilation error

      Solution

      1. Step 1: Understand the function call and parameter

        The function greet takes a string slice &str and prints a greeting with the given name.
      2. Step 2: Trace the function call in main

        Calling greet("Alice") passes "Alice" as the parameter, so it prints "Hello, Alice!".
      3. Final Answer:

        Hello, Alice! -> Option A
      4. Quick Check:

        Function prints greeting with passed name [OK]
      Hint: Parameters replace placeholders in print statements [OK]
      Common Mistakes:
      • Printing the parameter name instead of its value
      • Confusing &str with variable name
      • Expecting a compilation error due to &str
      4. Identify the error in this Rust function declaration:
      fn add(a i32, b: i32) -> i32 {
          a + b
      }
      medium
      A. Parameters should be declared as 'i32 a' and 'i32 b'
      B. Missing return type declaration
      C. Function body missing braces
      D. Missing colon between parameter name and type for 'a'

      Solution

      1. Step 1: Check parameter syntax

        Each parameter must have a colon between name and type, e.g., a: i32.
      2. Step 2: Identify the error

        Parameter a i32 is missing the colon, causing a syntax error.
      3. Final Answer:

        Missing colon between parameter name and type for 'a' -> Option D
      4. Quick Check:

        Parameter syntax requires colon [OK]
      Hint: Always put colon between parameter name and type [OK]
      Common Mistakes:
      • Omitting colon between name and type
      • Confusing parameter order syntax
      • Forgetting return type after ->
      5. Given this function:
      fn calculate_area(width: f64, height: f64) -> f64 {
          width * height
      }

      Which call correctly uses the function parameters to calculate the area of a 5.0 by 3.0 rectangle?
      hard
      A. calculate_area(5, 3)
      B. calculate_area(5.0, 3.0)
      C. calculate_area("5", "3")
      D. calculate_area(width=5.0, height=3.0)

      Solution

      1. Step 1: Check parameter types

        The function expects two f64 (floating-point) parameters.
      2. Step 2: Evaluate each call

        calculate_area(5, 3) uses integer literals, which Rust automatically coerces to f64 (implicit conversion). calculate_area(5.0, 3.0) uses floating-point literals matching the f64 parameter type exactly. calculate_area("5", "3") uses strings, type mismatch. calculate_area(width=5.0, height=3.0) uses named arguments, which Rust does not support.
      3. Final Answer:

        calculate_area(5.0, 3.0) -> Option B
      4. Quick Check:

        Use correct types and order for parameters [OK]
      Hint: Match argument types exactly to parameter types [OK]
      Common Mistakes:
      • Using integers instead of floats without suffix
      • Passing strings instead of numbers
      • Trying named arguments (not supported in Rust)
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard