Bird
Raised Fist0
Swiftprogramming~5 mins

Argument labels and parameter names in Swift

Choose your learning style10 modes available
Introduction

Argument labels and parameter names help make your function calls clear and easy to read, like giving names to the pieces of information you pass in.

When you want your function calls to read like simple sentences.
When you want to avoid confusion about what each value means in a function call.
When you want to use different names inside the function than outside.
When you want to make your code easier for others (or yourself) to understand later.
Syntax
Swift
func functionName(argumentLabel parameterName: Type) {
    // function body
}

The argument label is used when calling the function.

The parameter name is used inside the function.

Examples
Here, person is the argument label used when calling, and name is the parameter name used inside the function.
Swift
func greet(person name: String) {
    print("Hello, \(name)!")
}
greet(person: "Anna")
The first parameter has no argument label (using _), so you just pass the value directly. The second parameter uses to as the argument label.
Swift
func add(_ a: Int, to b: Int) -> Int {
    return a + b
}
let sum = add(3, to: 5)
print(sum)
If you don't specify an argument label, Swift uses the parameter name as the argument label by default.
Swift
func describe(color: String) {
    print("The color is \(color).")
}
describe(color: "blue")
Sample Program

This program defines a function with argument labels person and from. When calling the function, you use these labels to clearly show what each value means.

Swift
func introduce(person name: String, from city: String) {
    print("Meet \(name) from \(city).")
}

introduce(person: "Liam", from: "Paris")
OutputSuccess
Important Notes

You can omit argument labels by using _ before the parameter name.

Using clear argument labels makes your code easier to read and understand.

Summary

Argument labels are used when calling functions to clarify what each argument means.

Parameter names are used inside the function to refer to the passed values.

You can have different argument labels and parameter names to make your code clearer.

Practice

(1/5)
1. What is the purpose of an argument label in a Swift function?
easy
A. To store the return value of the function
B. To define the variable type inside the function
C. To clarify the meaning of each argument when calling the function
D. To create a new function inside another function

Solution

  1. Step 1: Understand argument labels

    Argument labels are used outside the function when calling it to make the call clearer.
  2. Step 2: Differentiate from parameter names

    Parameter names are used inside the function, but argument labels help the caller understand what each value means.
  3. Final Answer:

    To clarify the meaning of each argument when calling the function -> Option C
  4. Quick Check:

    Argument label = clarify call [OK]
Hint: Argument labels clarify calls, parameter names work inside [OK]
Common Mistakes:
  • Confusing argument labels with parameter names
  • Thinking argument labels define variable types
  • Assuming argument labels store return values
2. Which of the following is the correct way to declare a function with an argument label from and a parameter name start of type Int?
easy
A. func move(from: start Int) { }
B. func move(from start: Int) { }
C. func move(start from: Int) { }
D. func move(Int from start) { }

Solution

  1. Step 1: Recall Swift function syntax for labels

    The syntax is: func name(argumentLabel parameterName: Type) { }.
  2. Step 2: Match the syntax with given options

    func move(from start: Int) { } matches this syntax exactly: func move(from start: Int) { }.
  3. Final Answer:

    func move(from start: Int) { } -> Option B
  4. Quick Check:

    Argument label before parameter name [OK]
Hint: Argument label comes before parameter name in declaration [OK]
Common Mistakes:
  • Swapping argument label and parameter name order
  • Putting type before parameter name
  • Using invalid syntax with colons misplaced
3. What will be the output of the following Swift code?
func greet(person name: String) {
    print("Hello, \(name)!")
}
greet(person: "Anna")
medium
A. Hello, Anna!
B. Error: Missing argument label
C. Hello, name!
D. Hello, person!

Solution

  1. Step 1: Understand argument label and parameter name

    The function uses argument label person and parameter name name. The call uses person: "Anna".
  2. Step 2: Check the print statement

    Inside the function, name is used, so it prints "Hello, Anna!".
  3. Final Answer:

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

    Argument label person calls parameter name name [OK]
Hint: Argument label used in call, parameter name used inside function [OK]
Common Mistakes:
  • Confusing argument label with parameter name in print
  • Calling function without argument label
  • Expecting argument label to print
4. Identify the error in this Swift function call:
func calculate(sum total: Int) {
    print(total)
}
calculate(5)
medium
A. Parameter name 'total' is incorrect
B. The print statement is invalid
C. Function should return a value
D. Missing argument label 'sum' in the function call

Solution

  1. Step 1: Check function declaration

    The function requires an argument label sum when called.
  2. Step 2: Check function call

    The call calculate(5) misses the argument label sum, so it causes an error.
  3. Final Answer:

    Missing argument label 'sum' in the function call -> Option D
  4. Quick Check:

    Argument label required in call [OK]
Hint: Always use argument labels in calls if declared [OK]
Common Mistakes:
  • Omitting argument labels in function calls
  • Confusing parameter names with argument labels
  • Expecting implicit argument labels
5. Given the function:
func update(user name: String, age years: Int) {
    print("User: \(name), Age: \(years)")
}

Which is the correct way to call this function to print User: John, Age: 30?
hard
A. update(user: "John", age: 30)
B. update(name: "John", years: 30)
C. update(user name: "John", age years: 30)
D. update("John", 30)

Solution

  1. Step 1: Identify argument labels and parameter names

    The function has argument labels user and age, with parameter names name and years.
  2. Step 2: Match call syntax

    The call must use argument labels: update(user: "John", age: 30) is correct.
  3. Final Answer:

    update(user: "John", age: 30) -> Option A
  4. Quick Check:

    Call uses argument labels, function uses parameter names inside [OK]
Hint: Use argument labels in call, parameter names inside function [OK]
Common Mistakes:
  • Using parameter names instead of argument labels in call
  • Trying to call with both labels and names together
  • Omitting argument labels entirely
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