English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 문서에서는 Swift의 내장 함수와 그 사용 방법에 대해 배울 것입니다.
만약 하나의함수다른 함수의 본체 내에 존재하면 내장 함수라고 합니다.
func funcname() { //외부 함수 문장 func anotherFuncname() { //내부 함수 문장 } }
여기서 함수 anotherFuncname은 다른 함수 funcname의 본체 내에 위치하고 있습니다.
주의해야 할 것은 내부 함수는 감싸고 있는 함수(외부 함수) 내에서만 호출하고 사용할 수 있습니다.
func outputMessageByGreeting(_ message: String) { func addGreetingAndPrint() { print("Hello! \(message)") } addGreetingAndPrint() } outputMessageByGreeting("Jack")
프로그램을 실행할 때, 출력은 다음과 같습니다:
Hello! Jack
위 프로그램에서는 outputMessageByGreeting() 함수를 감싸고 있는 함수에서 내장 함수 addGreetingAndPrint()를 호출했습니다.
outputMessageByGreeting("Jack") 문장은 외부 함수를 호출합니다. 외부 함수 내의 문장 addGreetingAndPrint()는 "Hello Jack!"을 출력합니다.
addGreetingAndPrint 함수는 outputMessageByGreeting 함수 외부에서 호출할 수 없습니다.
내장 함수는 매개변수와 반환 값을 가진 함수를 포함할 수 있습니다.
func operate(with symbol: String) -> (Int, Int) -> Int { func add(num1: Int, num2: Int) -> Int { return num1 + num2 } func subtract(num1: Int, num2: Int) -> Int { return num1 - num2 } let operation = (symbol == "+) ? add : subtract return operation } let operation = operate(with: "+) let result = operation(2, 3) print(result)
프로그램을 실행할 때, 출력은 다음과 같습니다:
5
위 프로그램에서,
외부 함수는 operate()로, 반환 타입은 Function 타입 (Int, Int)입니다. -> Int。
내부(내부) 함수는 add()와 subtract()입니다.
내부(내부) 함수 add()와 subtract()를 사용하는 블록 함수 외부의 operate()로 사용하고 있습니다. 이는 외부 함수가 이러한 함수 중 하나를 반환하기 때문에 가능합니다.
우리는 함수 operate() 외부의 내부 함수를 operation(2,3) 프로그램 내부에서 add(2,3) 컨트롤 타블에서 출력5。