English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans cet article, vous apprendrez les fonctions imbriquées en Swift et comment les utiliser avec des exemples.
Si uneFonctionExiste dans le corps d'une autre fonction, on l'appelle une fonction imbriquée.
func funcname() { //Instructions de la fonction externe func anotherFuncname() { //Instructions de la fonction interne } }
Ici, la fonction anotherFuncname se trouve à l'intérieur du corps d'une autre fonction funcname .
Il convient de noter que les fonctions internes ne peuvent être appelées et utilisées que dans la fonction fermée (fonction externe).
func outputMessageByGreeting(_ message: String) { func addGreetingAndPrint() { print("Hello! \(message)") } addGreetingAndPrint() } outputMessageByGreeting("Jack")
Lors de l'exécution du programme, la sortie est :
Hello! Jack
Dans le programme ci-dessus, la fonction imbriquée addGreetingAndPrint () a été appelée à partir de la fonction fermée outputMessageByGreeting ().
La déclaration outputMessageByGreeting("Jack") appelle la fonction externe. La déclaration addGreetingAndPrint() appelée à l'intérieur de la fonction externe appelle l'affichage Hello Jack !
Vous ne pouvez pas appeler la fonction addGreetingAndPrint en dehors de la fonction outputMessageByGreeting .
Les fonctions imbriquées peuvent contenir des fonctions avec des paramètres et des valeurs de retour.
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)
Lors de l'exécution du programme, la sortie est :
5
Dans le programme ci-dessus,
La fonction externe est operate(), le type de retour est Function (Int,Int) -> Int.
Les fonctions internes (imbriquées) sont add() et subtract().
La manière dont les fonctions imbriquées add() et subtract() sont utilisées à l'extérieur de la fonction fermée operate() est possible car la fonction externe retourne l'une de ces fonctions.
Nous avons utilisé des fonctions internes à l'extérieur de la fonction fermée operate() comme operation(2,3) Appel interne de add(2,3) Afficher dans la console5.