Swift之深入解析闭包Closures的使用和捕获变量的原理
生活随笔
收集整理的這篇文章主要介紹了
Swift之深入解析闭包Closures的使用和捕获变量的原理
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、Closures 簡(jiǎn)介
① 什么是閉包?
- 閉包(Closures)是自包含的功能代碼塊,可以在代碼中使用或者用來(lái)作為參數(shù)傳值。Swift 中的閉包與 C 和 Objective-C 中的代碼塊(blocks)以及其他一些編程語(yǔ)言中的匿名函數(shù)比較相似。
- 閉包是一個(gè)捕獲了全局上下文的常量或者變量的函數(shù),通俗來(lái)講,閉包可以是常量也可以是函數(shù)。全局函數(shù)和嵌套函數(shù)其實(shí)就是特殊的閉包。
- 閉包的形式有:
-
- 全局函數(shù):有名字但不能捕獲任何值;
-
- 嵌套函數(shù):有名字,也能捕獲封閉函數(shù)內(nèi)的值;
-
- 閉包表達(dá)式:無(wú)名閉包,使用輕量級(jí)語(yǔ)法,可以根據(jù)上下文環(huán)境捕獲值。
- Swift 中的閉包有很多優(yōu)化的地方:
-
- 根據(jù)上下文推斷參數(shù)和返回值類型;
-
- 從單行表達(dá)式閉包中隱式返回(也就是閉包體只有一行代碼,可以省略 return);
-
- 可以使用簡(jiǎn)化參數(shù)名,如 $0, $1(從 0 開(kāi)始,表示第 i 個(gè)參數(shù)…);
-
- 提供了尾隨閉包語(yǔ)法(Trailing closure syntax)。
② 語(yǔ)法
- 如下所示,
總結(jié)
以上是生活随笔為你收集整理的Swift之深入解析闭包Closures的使用和捕获变量的原理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【数据结构与算法】之深入解析Base64
- 下一篇: Git之深入解析Git的安装流程与初次运