Q:

Swift program to create a nested function with the return value

belongs to collection: Swift User-defined Functions Programs

0

Here, we will create a nested user-defined function with return values. The definition of a function contains the definition of another function is known as a nested function. And, we will perform addition and subtraction operations using nested function.

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

Program/Source Code:

The source code to create a nested function with a return value is given below. The given program is compiled and executed successfully.

// Swift program to create a nested function 
// with return values

func calculate(with opr:String) -> (Int, Int) -> Int {  
    func addition(n1:Int, n2:Int) -> Int { 
        var res:Int=0
        res = n1 + n2
        return res
    }  
    func subtraction(n1:Int, n2:Int) -> Int {  
        var res:Int=0
        res = n1 - n2
        return res
    }  
    
    let fun = (opr == "+") ?  addition : subtraction  
    
    return fun  
}  

var result = 0

let AddNum = calculate(with: "+")  
result = AddNum(50, 20) 
print("Addition is: ",result) 

let SubtractNum = calculate(with: "-")  
result = SubtractNum(50, 20) 
print("Subtraction is: ",result)

Output:

Addition is:  70
Subtraction is:  30

...Program finished with exit code 0
Press ENTER to exit console.

Explanation:

In the above program, we imported a package Swift to use the print() function using the below statement,

import Swift;

Here, we created a nested user-defined function calculate(). The calculate() function contains the definition of addition() and subtraction() functions. And, we called nested function based on the specified symbol for addition and subtraction and printed the result on the console screen.

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

Swift program to return multiple values from the f... >>
<< Swift program to create a nested function...