Skip to content
DeveloperMemos

Omitting Return in Swift

Swift, Functions1 min read

Swift is a modern, statically-typed programming language that is widely used for iOS, macOS, watchOS, and tvOS app development. It is known for its safety, performance, and expressive syntax. One of its notable features is the ability to omit the return keyword in certain scenarios.

In Swift, functions can have a return type or not. If a function has a return type, it must return a value of that type using the return keyword. For example:

1func multiply(num1: Int, num2: Int) -> Int {
2 return num1 * num2
3}

The above function takes two integers as input and returns their product as an integer. The return keyword is used to indicate that the result of the multiplication operation should be returned from the function.

However, in certain scenarios, the return keyword can be omitted. In particular, if a function has a single expression that can be evaluated to a value of the expected return type, the function can implicitly return that value. For example:

1func multiply(num1: Int, num2: Int) -> Int {
2 num1 * num2
3}

The above function is equivalent to the previous one, but with the return keyword omitted. Since the expression num1 * num2 can be evaluated to an integer (the expected return type), Swift can infer that the result of the expression should be returned from the function.

This syntax can make functions more concise and easier to read. It is particularly useful for short, simple functions that perform a single computation. Here are some more examples:

1func sayHello(name: String) -> String {
2 "Hello, \(name)!"
3}
4
5func square(number: Int) -> Int {
6 number * number
7}

In both of these examples, the return keyword is omitted because there is only a single expression that can be evaluated to the expected return type (String and Int, respectively).

It is worth noting that this syntax can only be used if there is a single expression that returns the expected type. If there are multiple expressions, or if the expected type cannot be inferred, the return keyword must be used.

In conclusion, omitting the return keyword in Swift can make functions more concise and easier to read in certain scenarios. It is a powerful feature that can help developers write clearer, more expressive code.