Swift底子语法(六)闭包表达式和闭包

藏宝库编辑 2024-9-13 23:34:12 20 0 来自 中国
Swift底子语法文章汇总
本文主要先容闭包表达式和闭包,闭包表达式简化了函数的调用,闭包可以捕获局部变量,在局部变量的作用域外也可以举行操纵
主要内容:

  • 闭包表达式
  • 闭包利用
  • 闭包原理
1、闭包表达式

1.1 闭包表达式认识

闭包表达式用来实现功能,类似于函数的作用,只是写法不一样
界说格式:
{    (参数列表) -> 返回值范例 in    函数体代码}代码:
/* 1、闭包表达式的写法 *///1.1 函数func sum(_ v1: Int, _ v2: Int) -> Int {    v1 + v2}print("sum\(sum(10, 20))")//1.2 闭包表达式var fn = {    (v1: Int,v2: Int) -> Int in    return v1 + v2}let result = fn(10,20)//1.3 匿名闭包表达式{   (v1: Int,v2: Int) -> Int in   return v1 + v2}(10,20)阐明:

  • 函数的功能利用闭包表达式也完全可以实现。
  • 函数有的元素,闭包表达式也都有,只是誊写方式不一样
  • 留意in是用来分割函数范例和函数体的
  • 闭包表达式需要利用{}来包罗进去
  • 假如需要赋给一个变量,就通过变量来调用,假如直接利用,就直接调用传值
简写:
/* 2、闭包表达式的简写 */func test2 (){    //2.1 函数    func exec(v1: Int, v2: Int, fn: (Int, Int) -> Int) {        print(fn(v1, v2))    }    //2.2 闭包表达式正常格式    exec(v1: 10, v2: 20, fn: {    (v1: Int, v2: Int) -> Int in    return v1 + v2    })    //2.3 简写:参数范例    exec(v1: 10, v2: 20, fn: {    v1, v2 in return v1 + v2    })    //2.4 简写:return    exec(v1: 10, v2: 20, fn: {    v1, v2 in v1 + v2    })    //2.5 简写:参数    exec(v1: 10, v2: 20, fn: { $0 + $1 })    //2.6 简写:只写操纵符    exec(v1: 10, v2: 20, fn: + )}test2()阐明:
<ol>可以将参数范例省略掉,因为在声明中已经明确了范例
可以将return省略掉,因为函数体只有一个表达式
可以将参数省略掉,此时利用
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-10-18 22:30, Processed in 0.111620 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表