Alexey Savchenko Alexey Savchenko - 3 months ago 20
Swift Question

Swift function with Void return type versus no return type

I'm struggling with understanding return values in Swift.
Can you explain the difference between these?

func someFunc() -> Void {}
func someFunc() {}

Answer

Simply, there is no difference. -> Void is just an explicit way of saying that the function returns no value.

From docs:

Functions without a defined return type return a special value of type Void. This is simply an empty tuple, in effect a tuple with zero elements, which can be written as ().

Thus, these three function declarations are equal:

func someFunc() {}
func someFunc() -> Void {}
func someFunc() -> () {}