Bird
Raised Fist0
Swiftprogramming~5 mins

Function declaration syntax in Swift

Choose your learning style10 modes available
Introduction
Functions help you organize your code into small, reusable pieces that do one job.
When you want to repeat a task many times without writing the same code again.
When you want to break a big problem into smaller, easier steps.
When you want to give a name to a set of instructions to make your code clearer.
When you want to use the same code in different parts of your app.
When you want to test parts of your code separately.
Syntax
Swift
func functionName(parameters) -> ReturnType {
    // code to run
}
The keyword func starts the function declaration.
Parameters are optional; if there are none, use empty parentheses ().
Examples
A simple function with no parameters and no return value.
Swift
func greet() {
    print("Hello!")
}
A function that takes two numbers and returns their sum.
Swift
func add(a: Int, b: Int) -> Int {
    return a + b
}
A function with one parameter that prints a greeting.
Swift
func sayHello(to name: String) {
    print("Hello, \(name)!")
}
Sample Program
This program defines a function to multiply two numbers and then prints the result.
Swift
func multiply(x: Int, y: Int) -> Int {
    return x * y
}

let result = multiply(x: 4, y: 5)
print("4 times 5 is \(result)")
OutputSuccess
Important Notes
Functions can have zero or more parameters.
If a function returns a value, use the arrow -> followed by the return type.
Use return to send back a value from the function.
Summary
Functions start with the keyword func.
They can take inputs called parameters and can return a value.
Functions help keep code organized and reusable.

Practice

(1/5)
1. Which keyword is used to declare a function in Swift?
easy
A. def
B. func
C. function
D. method

Solution

  1. Step 1: Recall Swift function declaration

    In Swift, functions always start with the keyword func.
  2. Step 2: Compare options

    Only func uses func, the correct keyword for Swift functions.
  3. Final Answer:

    func -> Option B
  4. Quick Check:

    Swift functions start with func [OK]
Hint: Remember: Swift functions always start with 'func' keyword [OK]
Common Mistakes:
  • Using 'function' instead of 'func'
  • Confusing Swift with Python's 'def'
  • Using 'method' which is not a keyword
2. Which of the following is the correct syntax to declare a function named greet that takes no parameters and returns nothing?
easy
A. func greet() -> void {}
B. function greet() {}
C. func greet {}
D. func greet() {}

Solution

  1. Step 1: Check function declaration syntax

    In Swift, a function with no parameters and no return type is declared as func name() {}.
  2. Step 2: Analyze each option

    func greet() {} matches the correct syntax. function greet() {} uses 'function' which is invalid. func greet {} misses parentheses. func greet() -> void {} uses 'void' which is not used in Swift.
  3. Final Answer:

    func greet() {} -> Option D
  4. Quick Check:

    Empty parameter list needs () and no return type means no arrow [OK]
Hint: Empty parameters always need () after function name [OK]
Common Mistakes:
  • Omitting parentheses for parameters
  • Using 'function' instead of 'func'
  • Using 'void' as return type in Swift
3. What will be the output of the following Swift code?
func add(a: Int, b: Int) -> Int {
    return a + b
}

print(add(a: 3, b: 4))
medium
A. a + b
B. 34
C. 7
D. Error: Missing return statement

Solution

  1. Step 1: Understand function parameters and return

    The function add takes two integers and returns their sum.
  2. Step 2: Calculate the function call result

    Calling add(a: 3, b: 4) returns 3 + 4 = 7, which is printed.
  3. Final Answer:

    7 -> Option C
  4. Quick Check:

    Sum of 3 and 4 is 7 [OK]
Hint: Add numbers inside function and print result [OK]
Common Mistakes:
  • Concatenating numbers as strings
  • Forgetting to return a value
  • Misunderstanding parameter labels
4. Identify the error in the following Swift function declaration:
func multiply(a: Int, b Int) -> Int {
    return a * b
}
medium
A. Missing colon between parameter name and type for b
B. Missing return keyword
C. Function name is invalid
D. Return type should be String

Solution

  1. Step 1: Check parameter syntax

    Each parameter must have a colon between its name and type. Here, b Int is missing a colon.
  2. Step 2: Confirm other parts are correct

    The return keyword is present, function name is valid, and return type Int is appropriate.
  3. Final Answer:

    Missing colon between parameter name and type for b -> Option A
  4. Quick Check:

    Parameters need colon between name and type [OK]
Hint: Check colons between parameter names and types [OK]
Common Mistakes:
  • Omitting colon in parameter list
  • Forgetting return keyword
  • Using wrong return type
5. You want to declare a Swift function named describePerson that takes a String parameter name and an Int parameter age, and returns a String describing the person like "Name is Age years old." Which is the correct function declaration?
hard
A. func describePerson(name: String, age: Int) -> String { return "\(name) is \(age) years old." }
B. func describePerson(name String, age Int) -> String { return "\(name) is \(age) years old." }
C. func describePerson(name: String, age: Int) { print("\(name) is \(age) years old.") }
D. func describePerson(name: String, age: Int) -> Void { return "\(name) is \(age) years old." }

Solution

  1. Step 1: Check parameter syntax and return type

    Parameters must have colons between name and type. The function returns a String, so return type must be String.
  2. Step 2: Verify function body matches return type

    func describePerson(name: String, age: Int) -> String { return "\(name) is \(age) years old." } returns a String with correct string interpolation. func describePerson(name String, age Int) -> String { return "\(name) is \(age) years old." } misses colons. func describePerson(name: String, age: Int) { print("\(name) is \(age) years old.") } has no return type and uses print instead of return. func describePerson(name: String, age: Int) -> Void { return "\(name) is \(age) years old." } uses Void return type but returns a String, which is invalid.
  3. Final Answer:

    func describePerson(name: String, age: Int) -> String { return "\(name) is \(age) years old." } -> Option A
  4. Quick Check:

    Correct parameters and return type with string interpolation [OK]
Hint: Use colons for parameters and match return type with returned value [OK]
Common Mistakes:
  • Omitting colons in parameters
  • Using print instead of return for returning values
  • Mismatching return type and returned value
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