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省略掉,因为函数体只有一个表达式
可以将参数省略掉,此时利用 |