The following lines declare a myFunction
variable with a function type, specifically, a function that receives an Int
argument and returns a Bool
value. The variable works in the same way as an argument that specifies a function type for a function. The code file for the sample is included in the swift_3_oop_chapter_07_05
folder:
var myFunction: ((Int) -> Bool) myFunction = divisibleBy5 let myNumber = 20 print("Is \(myNumber) divisible by 5: \(myFunction(myNumber))")
Then, the code assigns the divisibleBy5
function to myFunction
. It is very important to understand that the line doesn't call the divisibleBy5
function and save the result of this call in the myFunction
variable. Instead, it just assigns the function to the variable that has a function type. The lack of parenthesis after the function name makes the difference.
Then, the code prints whether the Int
value specified in the myNumber
constant is divisible...